Skip to content

Spec: the Ticket run as a Built-in process file - #1475

Merged
JacobStephens2 merged 29 commits into
mainfrom
issue-1456
Oct 28, 2026
Merged

JacobStephens2 merged 29 commits into
mainfrom
issue-1456

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Every Ticket starter now runs the same compiled-in, validated processes/ticket-run.toml. Dispatch still chooses Spec or Ticket, makes any Claim before the worktree, and passes child choices and Limits through.

Issue URL / Spec / Architect / Pickup / Security
  Ticket dispatch
    processes/ticket-run.toml
      implement        fresh or Continuation; bug diagnosis; Base fix advice
      security-review  when requested; configured Harness and fallback
      delivery         publication, Repair loop and Recovery
      self-merge       when requested; existing merge gates

Custom processes gain the same implement and security-review catalogue Steps. An unreproduced bug ends successfully, skips later Steps, hands the issue back with needs-info, ends the Claim and cleans up. Session Steps retain one Resume and carry killed-work context into later failures without spending the Repair cap. Ticket names, session kinds, stages, traces, notifications, interruption and Failed ticket run recovery stay intact.

process list marks built-ins; process show <name> prints built-in or Custom files exactly. Saving ticket-run under a new name produces a runnable Custom process; built-in names remain reserved. Packaging, the guide, glossary and hand-written site pages cover the new ownership and commands.

The whole-Spec review also consolidates killed-work retention and the clean Security review test fixture, and removes the redundant Pickup dispatch variant.

Closes #1456

Evidence

  • Before: the Ticket sequence was fixed in Rust; Custom processes lacked these catalogue Steps, and killed-work context did not survive across Process Steps.
    After: the compiled Ticket file passes process check, and its printed copy runs through the CLI as a Custom process. Existing regression tests cover Ticket starters, identity, bug diagnosis, Continuation, Security holds and fallback, Claims, Recovery and interruption.
  • Review: Standards raised 3 maintenance findings, all addressed; Spec raised 0. Both reviewers read all 36 original changed files, including generated HTML and removed Delivery test contents. Generated exclusions: none. Unread changed files: none on either axis. Reports and counts are retained in .thirdshift-review-j5JP54/.
  • Before the review refactors: cargo test --test process passed 150 tests, with 1 fixture entry point ignored. This included compiled-file inspection/copying, bug diagnosis, Continuation, Security fallback/holds and Resume regressions.
  • Initial selected checks: scripts/affected-tests main passed all 51 site tests, then stopped after 554 Rust passes on stop_and_resume_preserve_finished_trials_and_refuse_a_changed_bar (tests/experiments.rs:1365, retained repository directory assertion). The Experiments test and implementation are unchanged in this Spec. The exact cargo test --test experiments stop_and_resume_preserve_finished_trials_and_refuse_a_changed_bar -- --exact --nocapture rerun passed, as did all 5 iterations of cargo nextest run --test experiments -E 'test(=stop_and_resume_preserve_finished_trials_and_refuse_a_changed_bar)' --stress-count 5. This shows intermittent behavior; the initial failure is retained in the Session's validation log.
  • Final Rust validation: NEXTEST_TEST_THREADS=8 /usr/bin/time -p cargo nextest run --no-fail-fast --retries 0 passed all 3,306 tests, with 74 skipped and zero retries. Wall time: 1,399.82 seconds (23m 20s), including the cached build check; no recompilation. cargo fmt --check also passed.
  • Pickup protocol: cargo test --locked --test pickup_model -- --nocapture passed 4 tests, with 1 ignored. The dispatch cleanup preserves request ordering and requires no model edit. This verifies the bounded claimed-dispatch property and retains the known pre-Claim counterexample; it does not prove the broader literal dispatch property.

Testing seams: the existing CLI with real Git, fake gh and fake Harnesses (Scenario), plus the existing Delivery and Ticket dispatch/sequence seams. No new seam or implementation-only assertion was added for the maintenance refactors.

The Day shift's pre-merge live checks from a Spec-branch build remain pending: a fresh Ticket run, Continuation, reproduced and unreproduced bugs, and Pickup and Spec runs that start Tickets.

Unaddressed findings

Standards

None. All three raised findings were addressed.

Spec

None. No findings were raised.

Security

None. No unaddressed introduced findings.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

The change can be reverted; it introduces no persistent format migration. The Spec PR remains draft for thirdshift to mark ready after its remaining review. The Day shift runs the live checks before merge; this Spec must never Self-merge.

Blast Radius: Workflow

Every Ticket starter uses the new compiled sequence. A sequencing regression could affect scheduled and child runs, so the existing Delivery, Security, Claim and recovery gates remain shared and the live checks are required before merge.

Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh

Tickets

Retain Resume context across Custom process Steps
Preserve Process inspection and Resume documentation together, and regenerate the user manual HTML.
Add Built-in process catalog and process show
Add the security-review catalogue Step
Add an implement catalogue Step for Custom processes
Route Issue URL and Pickup Ticket runs through ticket-run.toml
Run every Ticket starter through the built-in process
@JacobStephens2
JacobStephens2 marked this pull request as ready for review October 28, 2026 02:16
Keep the shared Resume definition and reconcile compact CLI help, preserving both Process inspection and other-account commands.

Validation: cargo clippy --all-targets -- -D warnings; cargo fmt --check; NEXTEST_TEST_THREADS=3 scripts/affected-tests main (51 site tests and 3,333 Rust tests passed, 74 skipped; 2,200.23 seconds including compilation).
@JacobStephens2
JacobStephens2 merged commit c92b5de into main Oct 28, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1456 branch October 28, 2026 03:32
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spec: the Ticket run as a Built-in process file

1 participant