Skip to content

Which Box changes does v1 need, and in what order do they land? #542

Open

Description

@orioltf

Question

Which Box changes does v1 need, and in what order do they land against the work already editing the same files?

Take the fit-gap and the two /build decisions as input. For each change, name the Box, the step, the ADR it amends, and the ticket in the other map it must wait for. The result is the list /to-tickets turns into implementation tickets.

Activity

  1. orioltf commented on Sep 30, 2026

    @orioltf
    MemberAuthor

    Constraint from What replaces RED in /build when an e2e test for an existing feature should pass first time?, 2026-09-30

    The resolution adds these changes to v1's list:

    • unic-dlc-build.yaml:
      • run-build changes from a loop: node to a loop_group, with one body node per phase.
      • It gains the Characterisation Slice's phase pair and the three-run sabotage proof.
      • bootstrap reports a Characterisation Slice that has no sabotage technique, and guard-not-ready cancels.
      • goals-check counts a deferred criterion as covered with a gap.
      • verification does not count a skip marker that links a tracker item as a stub, and it reports deferred tests by count rather than calling a zero-test e2e run "suspicious".
    • commands/specs.md: each criterion is marked existing or new, and the developer confirms the mark at Halt 1.
    • commands/tickets.md: a criterion that is both e2e-testable and existing becomes a Characterisation Slice. Characterisation Slices are ordered before every other slice of the feature.

    Two ordering facts:

    • The goals-check and verification edits also serve #541's item 8, which defers a minor failure with a skipped test. So they land with the first of the two decisions to ship, not with the Characterisation Slice alone.

    • The implementation ticket starts with three measurements on the target Archon version:

      • that scoped denied_tools entries and sandbox.filesystem.denyRead are enforced in a loop_group body node;
      • that a resumed loop_group continues from build-state.json;
      • that a body node accepts when:.

      If the first measurement fails, the test writer may read the source and the gap is recorded. The rest of the design does not change.

  2. orioltf commented on Sep 30, 2026

    @orioltf
    MemberAuthor

    Ordering against the other map, 2026-09-30

    Decided by the maintainer and agreed with the orchestrator of #498's seat. /to-tickets writes these edges when it creates the implementation tickets out of #540 and #541.

    1. #483 decides first

    #483 and #540 both change what goals-check counts as covered. So the goals-check ticket gets blocked_by #483. #483 was waiting for #551, which closed on 2026-09-24, so #483 can be grilled now. If #483 puts its rule in evidence_policy and leaves goals-check alone, drop the edge.

    2. Every Box ticket goes after run 4 (#502)

    Run 4's predictions are sealed against today's /build. A Box change that lands first means run 4 measures a /build the seal never predicted. So every ticket out of #540 and #541 that edits a Box file gets blocked_by #502.

    #502 must carry no edge onto a #540 or #541 ticket, or the edges form a cycle.

    The only exception is #540's three measurements:

    • whether Archon enforces scoped denied_tools entries and sandbox.filesystem.denyRead in a loop_group body node;
    • whether a loop_group resumed after a failure continues from build-state.json;
    • whether a body node accepts when:.

    They run before #502 as spikes on a scratch workflow. They change no Box file and no plugin version. Run 4 sets three conditions on them:

    1. No machine-level change survives a spike. A node loads user-scope settings and plugins by default (#628). So a spike leaves ~/.claude/settings.json, user-scope plugin installs and enables, ~/.archon/config.yaml and the Archon binary as it found them. A plugin install goes to project scope in the scratch repository only. Whatever a spike cannot leave untouched, it reverts and records on Dispatch run 4, end it in a merge, and score the seal #502 before run 4 starts.
    2. Each spike records the Archon and Claude Code versions its nodes ran on. The Archon version for run 4 is still open. If run 4 moves to another version, the three results are re-run on it before they count. A spike never upgrades Archon.
    3. The scratch workflow lives outside every clone, with its own Archon codebase row, a dummy remote unique to the run, and --no-worktree. spike(unic-archon-dlc): can an Archon node reach a plugin agent, command or skill? #628's probe used this pattern.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions