test(protocol): advance touched-suite ratchets to v21
Make the statusline and Vterm Stage 3 acceptance suites track the bottom-panel v21 bump, including the real daemon and headless GPU probe. Record the full gate result and the unrelated stale directory-target assertion reproduced on canonical main.
This commit is contained in:
parent
d88d60eba6
commit
b9123c2f6d
|
|
@ -306,12 +306,15 @@ If it does not, stop and repair the remote/fetch configuration.
|
|||
never been enforced. Any CI job that compiles the `crdt` targets has to
|
||||
fix them first or it will be red on arrival.
|
||||
|
||||
## Bottom-panel lane (Arc 7) — 2B-1 IN GATING
|
||||
## Bottom-panel lane (Arc 7) — 2B-1 GATED; PR HELD ON MAIN RATCHET
|
||||
|
||||
Stage 1, the Stage 2 framing, and Stage 2A are on `main`. Framing
|
||||
revision 5's three-way split of 2B was explicitly approved on
|
||||
2026-07-27. **Stage 2B-1 is implemented, integrated with canonical
|
||||
`main`, and awaiting its full gate result before a PR is opened.**
|
||||
`main`, and its full matrix has run. No PR is open: one deterministic
|
||||
touched-suite assertion is stale on canonical `main` after #182 and
|
||||
must be corrected separately before this branch can claim a green
|
||||
gate.**
|
||||
|
||||
- **Stage 2B-1 branch:** `bottom-panel-stage2b`, based on
|
||||
`githubsucks/main` @ `c2d56ff` by merge because review had begun.
|
||||
|
|
@ -327,6 +330,33 @@ revision 5's three-way split of 2B was explicitly approved on
|
|||
`9b364ad`: `PanelFrame` now identifies its buffer, the transport
|
||||
ratchet covers the actual attach path rather than a detached codec
|
||||
assertion, and shared grid bounds have one validator.
|
||||
- **The full gate found and corrected two 2B-1 omissions:** the
|
||||
statusline version ladder still pinned v20/rejected v21, and Vterm
|
||||
Stage 3 pinned v20 both structurally and in its real headless probe.
|
||||
Those ratchets now expect v21 and, where applicable, reject v22.
|
||||
- **Green evidence on the corrected tree:** formatting and strict
|
||||
workspace Clippy; library **1,849 passed + 3 ignored default** and
|
||||
**2,034 passed + 4 ignored CRDT**; bottom-panel Stage 1 / 2A / 2B-1
|
||||
**46 / 17 / 15**; folding Stage 2 **48**; GPU font **11**; statusline
|
||||
**8 CRDT**; m11_5 semantic **2 CRDT**; Vterm Stages 1 / 2 / 3
|
||||
**10 / 6 / 9 CRDT**, with Stage 3's real daemon + PTY + wgpu probe
|
||||
required and green; M4 **121 passed + 3 ignored + 1 filtered**;
|
||||
required GPU **202**; and the isolated-config, one-invocation full
|
||||
workspace sweep green on rerun. Its first pass hit the known
|
||||
completion-before-supersede race in
|
||||
`m8_1_acceptance::read_dir_supersede_cancels_in_flight_predecessor`;
|
||||
the exact pin, its full 10-test target, and the complete workspace
|
||||
rerun all passed.
|
||||
- **Sole deterministic red — reproduced unchanged on canonical
|
||||
`main`:** `gpu_initial_target_acceptance` is **13/14**, failing
|
||||
`malformed_or_unloadable_targets_fail_closed_without_poisoning_the_daemon`.
|
||||
Its invalid-target table still includes `"."` and demands only a
|
||||
failure result, while #182 deliberately made a directory target valid
|
||||
and therefore sends the result plus snapshot. The identical failure
|
||||
reproduces at the tree-identical #182 head `7a3a55d`; 2B-1 changes no
|
||||
initial-target behavior. Correct this as a Journey/GPU-initial-target
|
||||
ratchet side quest on `main`, then integrate it here and rerun that
|
||||
touched gate before opening the 2B-1 PR.
|
||||
- **Next ordering is fixed:** 2B-2 branches from `main` only after 2B-1
|
||||
lands; 2B-3 branches only after 2B-2 lands. The daemon epoch machine
|
||||
belongs to 2B-2; the GPU band and negotiated capability flip belong
|
||||
|
|
|
|||
|
|
@ -786,15 +786,16 @@ fn a12_builtin_lsp_provider_tracks_real_attachment_and_unknown_label() {
|
|||
#[test]
|
||||
fn a13_17_26_protocol_semantic_init_late_join_and_version_cost() {
|
||||
// Vterm Stage 3 appended the terminal family as v19; GPU initial targets
|
||||
// appended the semantic bootstrap family as v20. This acceptance owns the
|
||||
// STATUSLINE variant's placement and gate, so it tracks the current wire
|
||||
// version rather than pinning 18: the v18 floor it actually cares about is
|
||||
// asserted below and in `peer_accepts_statusline_message`.
|
||||
assert_eq!(PROTOCOL_VERSION, 20);
|
||||
for version in 6..=20 {
|
||||
// appended the semantic bootstrap family as v20; bottom-panel Stage 2B-1
|
||||
// appended the panel family as v21. This acceptance owns the STATUSLINE
|
||||
// variant's placement and gate, so it tracks the current wire version
|
||||
// rather than pinning 18: the v18 floor it actually cares about is asserted
|
||||
// below and in `peer_accepts_statusline_message`.
|
||||
assert_eq!(PROTOCOL_VERSION, 21);
|
||||
for version in 6..=21 {
|
||||
assert!(is_supported_protocol_version(version));
|
||||
}
|
||||
assert!(!is_supported_protocol_version(21));
|
||||
assert!(!is_supported_protocol_version(22));
|
||||
let sample = InstanceMessage::StatuslineSegments {
|
||||
buffer_id: BufferId::from_raw(9),
|
||||
left: vec![StatuslineSegment {
|
||||
|
|
|
|||
|
|
@ -716,8 +716,8 @@ fn a37_real_daemon_real_pty_and_headless_gpu_render_one_terminal_session() {
|
|||
|
||||
assert_eq!(
|
||||
facts.get("server_protocol_version").copied(),
|
||||
Some("20"),
|
||||
"the real daemon negotiated v20 with the real client: {text}"
|
||||
Some("21"),
|
||||
"the real daemon negotiated v21 with the real client: {text}"
|
||||
);
|
||||
assert_eq!(
|
||||
facts.get("entered_terminal_mode").copied(),
|
||||
|
|
@ -846,7 +846,7 @@ fn terminal_mode_keeps_reporting_presence_so_peers_drop_the_stale_caret() {
|
|||
panic!("timed out waiting for {what}");
|
||||
}
|
||||
|
||||
assert_eq!(PROTOCOL_VERSION, 20);
|
||||
assert_eq!(PROTOCOL_VERSION, 21);
|
||||
let daemon = common::daemon::TestDaemon::spawn_with_env_and_init(
|
||||
&[
|
||||
("PMACS_INSTANCE_SEMANTIC_RENDER", "1"),
|
||||
|
|
|
|||
Loading…
Reference in New Issue