Skip to content

feat(meta-mode): harden portable workflow tooling - #29

Merged
3metaJun merged 14 commits into
mainfrom
feat/meta-mode-hardening
Oct 5, 2026
Merged

3metaJun merged 14 commits into
mainfrom
feat/meta-mode-hardening

Conversation

@3metaJun

@3metaJun 3metaJun commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Problem

mstack's long-running workflow support still had portability and durability gaps. Worktree cleanup depended on Unix shell tools, resume state lacked a durable portable checkpoint, shipping verdicts were not structurally tied to patch identity, and several pstack safety mechanisms were missing or implicit.

Scope

  • Add a Node.js worktree audit with safe NUL-delimited Git path parsing and retain the shell wrapper for compatibility.
  • Add Git-bound durable resume checkpoints with atomic begin, publish, and read operations.
  • Bind orch verification verdicts to PR, head, base, branch, patch-id, verifier, and runtime evidence.
  • Add Harness-neutral deadline, landing revision, guarded merge, and command transport helpers.
  • Add an explicitly selected session-context artifact without installing implicit hooks.
  • Extend project playbook validation with structured JSON, strict mode, warning severity, duplicate extends checks, and anchor diagnostics.
  • Close review findings for resume ID traversal and malformed landing revisions.

Verification

  • npm test with 245 passing tests.
  • node --test tools/meta-mode/resume.test.mjs tools/meta-mode/pr-safety.test.mjs with 8 passing tests.
  • node scripts/validate.mjs.
  • node scripts/skill-baseline.mjs --check.
  • node tools/meta-mode/check-playbooks.mjs ..
  • npm pack --dry-run --json.

Known limitation: Bun-specific orch tests were not runnable in this environment because Bun is unavailable. The integrated Node/npm suite passed, and the limitation is recorded in the implementation report.


Agent: GPT-5 via pi

@3metaJun
3metaJun changed the base branch from main to feat/meta-mode-playbook-validation October 5, 2026 05:38
3metaJun and others added 5 commits October 6, 2026 01:47
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…rify files

Checkpoints now live under the common Git directory keyed per worktree, so
removing a linked worktree no longer deletes them and ids cannot collide.
read picks the newest by publishedAt, hashes the referenced files and reports
changed or missing ones, and only begin requires a Git identity. Playbooks and
the guide call the tool through <meta-mode-tools> instead of a cwd-relative path.
The test resolves the script from import.meta.url so it runs under bun test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A failing git status now yields an explicit unknown dirty state classified as
hold-unknown instead of clean. The transcript scan collapses runs of backslashes
so JSONL-escaped Windows paths match. The test is replaced by an end-to-end run
over a temporary repository, worktree, and fake transcripts.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… merges

orch reads a legacy ledger.tsv header as unbound rows (never verified) and
migrates it on the next write. The orchestrate playbook now states the real
(pr, head sha) key. guardedMergeArgs validates head as a full object id.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@3metaJun
3metaJun changed the base branch from feat/meta-mode-playbook-validation to main October 5, 2026 17:53
@3metaJun
3metaJun merged commit 9c36898 into main Oct 5, 2026
9 checks passed
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.

1 participant