Skip to content

AI Software Foundry Goal

This document is the durable repo state for the evolved architect-mcp goal. The active runtime goal lives in Codex /goal; this page keeps the expanded spec, roadmap, issue tracker, judge protocol, and evidence log available across sessions.

Objective

Evolve architect-mcp into the local-first control layer for AI-native software delivery.

It must turn rough product intent into governed software changes: clarify the brief, create a contract, review the build plan and file plan, run agents only with approval, inspect diffs, verify evidence, review drift, and produce honest final/session reviews.

The TUI is the operator surface. It must support new-app creation, repo audit, Codex and other adapters, isolated worktrees, multi-agent arena runs, MCP install recommendations, approval/promotion, release evidence, and hard go/no-go judging.

The human owns decisions. Agents propose and execute. architect-mcp governs.

Tracking

Every implementation slice should have its own issue and PR. Every PR should link to the epic, list verification, record the judge result, and state remaining gaps.

Roadmap

MilestoneIssueStatusAcceptance signal
TUI production control loop#143ActiveUser can complete a TUI work-gate path to verified promotion without bypassing gates.
Adapter evidence and promotion hard gates#144PlannedAdapter runs record evidence, failures cannot look successful, and promotion is review-gated.
Multi-agent arena hardening#145ActiveMultiple candidates run in isolated worktrees and are ranked without auto-promotion.
MCP catalog and install-plan flow#146ActiveRecommendations require clarified need, dry-run install plans, security review, and approval before config writes.
New app to private repo foundry path#147ActiveA clarified app idea can become a private repo with CI, docs, agent instructions, env template, and first PR evidence.
Governance audit and drift evidence loop#148ActiveMaintained repos can be audited read-only for drift, stale docs, weak tests, unsafe config, and memory safety.
Foundry Mode V1 actionability control plane#320PlannedRead-only repo audits can produce repo-constitution summaries, normalized evidence, actionability decisions, PR/issue previews, and public-safe ledger entries without unapproved mutation.

Future hosted and team mode should stay behind the local-first proof. Hosted work is not launch-blocking for the local operator path, and hosted mode must keep local-only tools excluded.

Foundry Mode V1

Foundry Mode V1 extends the existing work gate and governance audit into a repo-native actionability loop. The MCP should not merely report findings; it should decide whether each finding deserves a PR preview, an architect-mcp issue proposal, an exception, a no-op, or a human question.

The first implementation pass should build on existing audit-quality debt before trusting actionability scores. The prerequisite issues are #310, #311, #312, #313, #314, #315, #316, #317, #318, and #319. PR #309 is the first Foundry prerequisite because it covers repository PR-template and recent accepted PR style discovery.

SliceIssuePurpose
Actionability assay#321Score evidence, confidence, blast radius, patch size, maintainer fit, duplicate risk, release impact, verification path, and public-safety risk.
Decision ledger#322Route findings to PR preview, architect issue, exception, no-op, or ask-human decisions and record public-safe ledger entries.
Repo constitution#323Derive repo instructions, templates, CI, release policy, labels, package metadata, recent accepted PR style, and maintainer constraints with provenance.
Evidence normalization#324Normalize MCP/tool findings, metadata, verification, and suppressions into a public-safe evidence inventory.
TUI audit view#325Expose read-only Foundry audits and ledger decisions through the operator TUI.
PR/issue forge previews#326Generate maintainer-native PR and issue previews without writing to GitHub unless explicitly approved.
Eval corpus#327Prove signal quality against large/small repo fixtures and optional live read-only samples.
Operating contract docs#328Document Foundry behavior, non-goals, approval gates, and release evidence.

V1 non-goals: hosted persistence of raw repo snapshots, autonomous external PR or issue creation, billing-gated local MCP behavior, remote policy overriding local repo instructions, and public disclosure of raw security findings, raw MCP payloads, private repo code, command logs, or local paths.

Operating Loop

Each slice should follow the agent work gate:

  1. Run grill_me and stop while blockers remain.
  2. Create or update the pre-edit contract.
  3. Review the build plan.
  4. Review the proposed file plan.
  5. Run implementation only after approval.
  6. Review implementation drift and repo structure.
  7. Record verification evidence.
  8. Review the final response and full session.
  9. Request a comprehensive, PR-specific @copilot review that names the actual behavior changed, likely edge cases, compatibility risks, tests, docs claims, and live-smoke evidence for that PR; resolve any actionable review comments.
  10. Run an independent judge-agent review before merge or launch claims.
  11. Issue a judge result before merge or launch claims.

For TUI work, the TUI should make these gates visible and enforceable. For docs or planning work, the PR body should still state the relevant checks and judge result.

Judge Protocol

A slice is go only when:

  • It advances the evolved spec.
  • User approval is required before repo mutation, adapter execution, MCP install, promotion, merge, and release.
  • Work-gate evidence exists where applicable: grill, contract, plan review, file-plan review, implementation review, verification, final/session review.
  • Docs and public claims match actual behavior.
  • Tests pass, or failures/skips are explicitly justified.
  • npm run release:check passes for release-sensitive changes.

A slice is conditional go only when:

  • Core behavior works.
  • The remaining gap is documented.
  • The gap does not block the next slice.
  • The PR body and this document record the limitation.

A slice is no-go when:

  • Behavior is simulated but documented as real.
  • User control can be bypassed.
  • Verification is missing or overstated.
  • Hosted/local-only boundaries are unsafe.
  • Release gates fail without a justified non-release scope.

Evidence Log

DateEvidenceResult
2026-05-19Foundry Mode V1 planning gate: created the long-running Codex goal for repo-native actionability, opened Foundry epic #320, created slice issues #321-#328, and recorded existing audit-signal prerequisites #310-#319. The planning gate was run through the MCP: initial grill_me, repo-quality, file-plan, and hosted-boundary checks rejected vague storage/enforcement, missing data ownership, missing harness artifacts, raw snapshot storage, remote-policy override, and billing/local-MCP coupling. The narrowed V1 plan then passed grill_me, review_proposed_file_plan, review_build_plan, and hosted-boundary validation when scoped to local public-safe receipts, explicit approval gates, and no billing gate on local MCP behavior.conditional go: the roadmap and issue graph are now explicit, PR #309 is the first Foundry prerequisite for PR-template/recent-maintainer-style discovery, and implementation should start by landing prerequisite signal-quality issues before relying on actionability scoring.
2026-05-19#311 audit coverage histogram slice in PR #331: review reports now expose report.coverage with total finding histograms by code/severity before detailed-output suppression, scan truncation caveats, detailed-finding cap caveats, files reviewed, max file cap, and top scanned directories. Live MCP smoke against fresh public clones showed vercel/next.js reporting a 5,000-file scan cap plus capped detailed findings, while pallets/flask reported full non-truncated coverage with zero findings. Verification: focused review/tool tests, typecheck, full npm test, build, docs build, release-check, and live read-only MCP smoke.conditional go: large-repo audit evidence is more honest and public-doc source is updated; this does not yet implement Foundry actionability scoring, routing, or forge previews.
2026-05-20#323 repo constitution slice: added derive_repo_constitution for supplied public-safe evidence and derive_local_repo_constitution for trusted local scans. The output models repo instructions, README/CONTRIBUTING evidence, PR templates, advisory recent merged PR style, CI workflows, release/changelog policy, labels, package metadata, language hints, maintainer constraints, findings, and provenance without raw artifact bodies or mutation. Live MCP smoke used recent merged PR bodies from GitHub and scanned this repo plus a fresh sparse checkout of pallets/flask; this repo returned one PR template, five recent samples, no constitution findings, and no mutation, while Flask returned its template, five recent samples, and sparse-template/missing-agent-instruction findings. Verification: focused constitution/tool tests, typecheck, docs tool-reference check, docs build, git diff --check, full npm test, build, npm run release:check, and live read-only MCP smoke.conditional go: Foundry can now derive repo-native contribution expectations and distinguish hard PR-template signals from advisory recent accepted PR style; actionability scoring, decision routing, forge previews, TUI view, and ledger storage remain later #320 slices.
2026-05-20#324 normalized evidence inventory slice: added normalize_foundry_evidence as a hosted-safe advanced MCP tool for supplied review reports, direct findings, external tool findings, verification summaries, and repo constitution output. The inventory assigns stable fev-* evidence IDs, source refs, confidence, public-safety class, redaction status, suppression candidates, merged coverage caveats, top scanned directories, and finding histograms while omitting raw external payloads, raw repo content, local paths, token-shaped values, and mutation. It explicitly models suppression prerequisite categories for generated files, vendored code, fixtures, docs examples, conventional entrypoints, and repo-profile mismatches so #312-#319 false-positive work is visible before #321 scoring. Live read-only MCP smoke ran review_local_workspace, derive_local_repo_constitution, and normalize_foundry_evidence against this repo and a fresh sparse checkout of pallets/flask; the smoke deliberately included caller-controlled source IDs, fallback codes, verification names, coverage directories/codes/caveats, local paths, token-shaped strings, and raw external payloads. This repo produced ten evidence records across architect review, coverage, synthetic external tool, verification, and repo constitution sources with three redactions and one omitted raw payload; Flask produced twelve evidence records across the same source families with the same public-safety guarantees.conditional go: Foundry now has a public-safe evidence inventory shape that can feed actionability scoring; score calculation, decision routing, forge previews, TUI view, and persistent ledger storage remain later #320 slices.
2026-05-20#321 actionability assay slice: added score_foundry_actionability as a hosted-safe advanced MCP tool over normalized Foundry evidence. The scorer deterministically weighs evidence strength, confidence, blast radius, patch-size confidence, maintainer fit, duplicate risk, release impact, verification path, public-safety risk, and expected maintainer value, then emits advisory pr_preview_candidate, ask_human, exception_candidate, or no_op_candidate decisions with public-safe rationale and required verification. Live read-only MCP smoke chained review_local_workspace, derive_local_repo_constitution, normalize_foundry_evidence, and score_foundry_actionability against this repo plus a fresh sparse checkout of pallets/flask; the smoke included high-evidence low-blast findings, sensitive redacted scanner evidence, low-value info findings, local paths, token-shaped strings, and raw payloads. This repo produced eight scored findings with six PR-preview candidates, one human-review hold, one no-op, and one public-safety hold; Flask produced ten scored findings with one PR-preview candidate, eight human-review holds, one no-op, and one public-safety hold.conditional go: Foundry can now score actionability without mutation; #322 still needs to turn advisory decisions into ledger routes, #326 still needs forge previews, and #325 still needs TUI exposure.
2026-05-20#322 decision-ledger routing slice: added route_foundry_decisions as a hosted-safe advanced MCP tool over scored Foundry actionability output. The router deterministically maps scored findings to pr_preview, architect_issue, exception, no_op, or ask_human, emits public-safe evidence aliases plus score, decision reason, redaction state, verification requirements, approval state, next action, and mutation policy, and reports zero server writes. Live read-only MCP smoke chained review_local_workspace, derive_local_repo_constitution, normalize_foundry_evidence, score_foundry_actionability, and route_foundry_decisions against this repo plus a fresh sparse checkout of pallets/flask; the smoke also fetched five recent merged PR bodies for each repo and deliberately included PR-preview, issue-preview, exception, no-op, and security-sensitive human-review cases. This repo reviewed 906 files, found one PR template and five recent PR samples, produced eight evidence records, and emitted one architect-issue preview, two PR previews, one exception preview, one no-op, and one ask-human hold. Flask reviewed 236 files, found one PR template and five recent PR samples, produced nine evidence records, and emitted one architect-issue preview, two PR previews, one exception preview, one no-op, and two ask-human holds. The smoke asserted no current workspace path, temp checkout path, token-shaped value, raw payload detail, or raw source snippet appeared in the ledger and that server writes remained zero. A committed in-memory MCP smoke regression now replays the all-route chain and sanitizer assertions without network access.conditional go: Foundry can now emit explicit non-mutating decision-route previews; #326 still needs forge previews, #325 still needs TUI exposure, and persistent ledger storage remains a later approved host/client responsibility.
2026-05-20#326 forge-preview slice: added forge_foundry_previews as a hosted-safe advanced MCP tool over public-safe decision-ledger output plus optional repo constitution. The forge emits preview-only pull request, architect-issue, exception, no-op, and human-question artifacts with ledger-local evidence aliases, verification plan, release-note impact, maintainer-fit rationale, explicit mutation boundary, and an architect-mcp footer. PR previews preserve repository PR-template headings as hard signals, use recent accepted PR headings only as advisory fallback when templates are missing or sparse, warn when recent PR style diverges from the template, and report zero server writes. Live read-only MCP smoke chained review_local_workspace, derive_local_repo_constitution, normalize_foundry_evidence, score_foundry_actionability, route_foundry_decisions, and forge_foundry_previews against this repo plus a fresh sparse checkout of pallets/flask; both repos had one PR template and five recent PR samples. This repo reviewed 918 files, generated six previews covering one PR preview, two architect-issue previews, one exception record, one no-op record, and one human question; Flask reviewed 236 files and generated seven previews covering one PR preview, two architect-issue previews, one exception record, one no-op record, and two human questions. The smoke asserted no current workspace path, temp checkout path, token-shaped value, raw payload detail, raw source path field, upstream fev-* evidence ID, or raw finding path appeared in the previews and that server writes remained zero.conditional go: Foundry can now render maintainer-native draft artifacts without creating branches, issues, pull requests, comments, labels, or raw payload persistence; #325 still needs TUI exposure, #327 still needs corpus evidence, and persistent ledger storage remains a later approved host/client responsibility.
2026-05-20#325 TUI read-only Foundry audit slice: added architect-mcp-tui foundry-audit with --json, --public-summary, and --repo-path <checkout>, plus command-palette foundry audit [path=<checkout>] and foundry ledger. The TUI chains review_local_workspace, derive_local_repo_constitution, normalize_foundry_evidence, score_foundry_actionability, route_foundry_decisions, and forge_foundry_previews, then renders route, score, evidence count, risk, approval state, next action, preview counts, and zero server writes without reusing repo-creation approval. Public summaries omit local paths, raw command output markers, raw MCP payloads, raw repo content, token-shaped values, and private diagnostics. Latest source-built live QA against this repo returned passed, reviewed 934 files, emitted one architect-issue decision, generated one preview, and asserted read-only, approval-required-before-mutation, zero writes, and no local path/token leakage. A second live --repo-path smoke against a fresh temp git repo returned passed_with_warnings, reviewed 2 files, emitted one architect-issue and two ask-human routes, generated three previews, left git status --short clean, and did not create .architect-mcp. Verification: focused Foundry audit tests, command parser tests, foundry workflow regression tests, shim/docs tests, clippy, source build, and live MCP smoke.conditional go: operators can now run Foundry audits and inspect ledger decisions from the TUI without mutating fresh checkouts; #327 still needs broader corpus evidence and persistent ledger storage remains a later approved host/client responsibility.
2026-05-20#327 Foundry eval-corpus slice: added run_foundry_eval_corpus as a hosted-safe advanced MCP tool backed by deterministic offline fixtures for vercel/next.js, expressjs/express, pallets/flask, BurntSushi/ripgrep, and chalk/chalk summaries. The corpus covers large, small, and tiny repos; expected noise patterns from issues #310-#319; PR-template/recent-maintainer-style signals; scan truncation; docs-example/generated/conventional-entrypoint suppression categories; PR-preview, architect-issue, exception, no-op, and ask-human routes; preview-kind generation; public-safety redaction across evidence normalization, actionability, ledger, and preview outputs; and zero server writes. The tool also records an optional live read-only smoke command, architect-mcp-tui foundry-audit --repo-path <fresh-public-checkout> --public-summary, with explicit before/after git status --short and zero-write checks. Live TUI smoke returned passed on this repo with 944 files reviewed, one architect-issue preview, zero writes, and no local path/token leakage; a fresh chalk/chalk checkout returned passed_with_warnings with 34 files reviewed, one architect-issue preview, two human questions, zero writes, clean git status --short before/after, and no .architect-mcp state. Verification: focused corpus tests, Foundry MCP tool tests, typecheck, generated tool-reference docs, and live read-only TUI smoke.conditional go: Foundry now has a repeatable offline signal-quality harness that can run without network or vendored repositories; optional live public-repo smoke remains release evidence rather than a prerequisite, and persistent ledger storage remains a later approved host/client responsibility.
2026-05-20#328 Foundry operating-contract docs slice: added docs/foundry-mode.md to distinguish Current Shipped Behavior from Future Planned Behavior, document approval gates, public-safety rules, PR/issue preview boundaries, the approval-required preview footer, PR-template versus recent-PR style precedence, and the #310-#319 signal-quality map. README, VitePress navigation, llms.txt, and this goal ledger now point at the page, and supply-chain tests assert the docs do not drift into autonomous external mutation claims. Independent judge review returned go with no required fixes before PR.conditional go: the operating contract is public, test-backed, and judge-reviewed; this docs slice still needs hosted PR checks, a PR-specific @copilot review, and merge evidence before #328 closes.
2026-05-16#141 merged terminal QA smoke workflow after green CI, install-smoke, and live-QA workflows.go as baseline terminal QA evidence.
2026-05-16Codex CLI /goal accepted the concise evolved objective.Runtime goal created; detailed spec lives in this document.
2026-05-16#143 structured-intake slice: TUI prompts and answer key=value commands now shape live grill_me briefs, generated build-plan checks are merged into contract verification, and a live headless ready prompt reached grill_me, create_pre_edit_contract, review_build_plan, and review_proposed_file_plan with passing review gates before stopping at adapter approval. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace, architect-mcp-tui smoke --json, and npm run release:check.conditional go: intake and gate alignment work; full interactive adapter execution, diff review, verification capture, session review, and promotion remain for later #143/#144 slices.
2026-05-16#151 stacked TUI execution-approval slice: run adapter now requires explicit execution approval after file-plan review, execution approval is cleared after a successful adapter run, and promotion still requires a separate approval after adapter review evidence. Verification: cargo test --workspace and npm run release:check.conditional go: adapter execution now has a real approval gate; richer verification capture UX, final/session review ergonomics, and live manual TUI QA remain for later #143 slices.
2026-05-16#143 stacked verification-capture slice: the TUI now stores required verification checks from live gate inputs, rejects unknown verification statuses, blocks final/session review until every required check is recorded as passed, sends structured verification evidence into review_agent_session, and blocks promotion approval until the fresh final/session review path completes. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace, and npm run release:check.conditional go: verification can no longer be skipped in the normal promotion path; live manual terminal QA and broader promotion ergonomics remain before #143 can close.
2026-05-16#143 stacked verification-UX slice: the TUI now has a verification status command, lists required checks with current statuses, and rejects verification records whose check name does not match the required check set. Verification: cargo test --workspace and npm run release:check.conditional go: the operator can discover the exact verification names and typo records no longer silently miss the gate; live manual terminal QA and promotion-path polish remain before #143 can close.
2026-05-16Local terminal smoke on the source-built TUI binary: target/debug/architect-mcp-tui smoke --json returned passed_with_warnings, detected Codex CLI as installed and authenticated, detected the shell adapter as ready, and confirmed the gate-only run stops with approval_required instead of executing an adapter.conditional go: source-built terminal smoke is healthy; full manual interactive TUI walkthrough and promotion-path polish remain before #143 can close.
2026-05-17Stale local shim hardening: the npm shim now skips local TUI binaries that do not expose the current required smoke command, preventing an old target/release binary from masking a current source-built debug binary. The PTY success path also waits longer for reader output after child exit so CI does not drop short adapter output. Verification: focused shim tests, focused PTY success test, node bin/architect-mcp-tui.cjs smoke --json, and npm run release:check.conditional go: source-checkout terminal smoke now works through the public npm shim path; full manual interactive TUI walkthrough and promotion-path polish remain before #143 can close.
2026-05-17Promotion readiness slice: the TUI now exposes promotion status, shares promotion-readiness checks with the promote path, reports missing approval, isolated-worktree evidence, changed-file evidence, verification, and review gates with next actions, and blocks promotion when changed-file evidence is missing even under override. Verification: focused promotion workflow tests, node bin/architect-mcp-tui.cjs smoke --json, and npm run release:check.conditional go: promotion blockers are now explicit and actionable; a full manual interactive TUI walkthrough remains before #143 can close.
2026-05-17Scripted interactive walkthrough slice: architect-mcp-tui walkthrough --json now runs the command-palette engine in a throwaway git workspace from intake answers through grill, contract, plan/file review, execution approval, isolated fixture adapter run, diff inspection, verification, final/session review, promotion status, approval, and promotion. The slice also fixes schema-safe repo-structure review args and structured promotion-readiness parsing. Verification: npm run tui:live-qa, npm run typecheck, npm test, npm run docs:build, and npm run release:check.conditional go: the operator flow is reproducible in CI and local terminals; visual/manual terminal rendering QA still remains before #143 can close as a full go.
2026-05-17Manual 80x24 macOS terminal launch in a disposable git repo found the Inspector panel was pushed off-screen by the wide three-column layout. The TUI now switches to a narrow layout that keeps Agents, Transcript, Inspector, and Command visible; the session accepted new app local notes QA, tab focus changed panels, q exited, and terminal-restored-ok printed after alternate-screen teardown. Verification: focused 80x24 render test and manual TTY launch.conditional go: local visual rendering now has source-checkout evidence; Linux and Windows manual terminal evidence remain separate release-readiness inputs.
2026-05-17Adapter failure-evidence hardening: adapter timeout, crash, cancellation, non-zero exit, and truncated output are now stored as durable session issues, surfaced in the inspector, block normal promotion readiness and promotion approval, and require a successful rerun or explicit maintainer override before files can be promoted. Verification: focused run-evidence, promotion-readiness, and interactive failed-adapter tests.conditional go: failed adapter runs can no longer look like clean promotion-ready success; broader real Codex adapter smoke still remains.
2026-05-17Adapter rerun recovery hardening: after file-plan review and fresh execution approval, a rerun now replaces the managed isolated worktree for the same session/adapter, clears stale diff/review/verification/final-response/adapter-issue evidence, and applies only the new run evidence. Verification: focused session reset test, interactive fail-once-then-rerun workflow test, npm run tui:live-qa, and npm run release:check.conditional go: failed runs now have a normal recovery path without needing override when the rerun succeeds; broader real Codex adapter smoke still remains.
2026-05-17Codex adapter template hardening: the default Codex adapter now runs non-interactive codex exec --sandbox workspace-write --color never --ephemeral, and approved adapter execution receives the original request plus the pre-edit contract, required verification checks, and no-commit/no-promotion rules. The first real promotion-smoke attempt showed --json output can exceed the TUI log cap and block promotion despite a valid diff, so the default template uses plain non-interactive output. Verification: focused adapter template and gated-prompt tests.conditional go: the default Codex path is now shaped for governed isolated execution; a full real Codex promotion smoke remains as release evidence.
2026-05-17Real local Codex adapter smoke in a disposable git repo: architect-mcp-tui run --adapter codex --jsonl --execute used authenticated codex-cli 0.130.0, created only docs/codex-adapter-smoke.md in .architect-mcp/worktrees/<session>/codex, emitted diff_evidence, and ran review_implementation_against_contract, review_repo_structure, review_agent_final_response, and review_agent_session before ending with review_required.conditional go: real Codex execution now has local evidence through review gates; promotion still needs a real-Codex interactive approval/promote smoke before full go.
2026-05-17Real local Codex promotion smoke: architect-mcp-tui promotion-smoke --adapter codex --json --keep-workspace created a disposable git repo, confirmed Codex auth, ran the interactive gate sequence, executed Codex in an isolated worktree, refreshed implementation review after verification, passed npm test, approved promotion separately from execution, and promoted only docs/codex-adapter-smoke.md. Supporting fixes: repo-layout file hints now flow into the pre-edit contract, the adapter output display cap is 512 KiB while still blocking true truncation, and final review refreshes implementation drift review with passed verification evidence.conditional go: real Codex execution-to-promotion is proven locally; broader Linux and Windows manual terminal rendering evidence remains before #143 is a full production go.
2026-05-17#145 arena hardening slice: arena run now requires file-plan review plus explicit execution approval, requires at least two adapters, clears stale normal adapter evidence before recording candidates, and clears execution approval after the arena run. arena select <adapter> selects exactly one recorded candidate into the normal verification, final/session review, approval, and promotion path without copying files immediately. Copilot hardening was adopted to require isolated worktree mode for arena runs and prove arena execution does not mutate the main workspace before selection/promotion. Fixture workflow tests cover approval blocking, isolated candidates, no auto-promotion, failed-candidate selection blocking, timeout/cancel evidence, final manual promotion, arena ranking evidence, and disabled-isolation blocking. Verification: cargo test --workspace --test arena_workflows, cargo test -p architect-tui interactive_arena, npm run tui:live-qa, and npm run release:check.conditional go: arena execution can no longer bypass the work gate, run without isolation, or auto-promote a winner; final PR CI remains before #145 is full go.
2026-05-17#146 MCP integrations slice: the TUI command palette now has integrations recommend, integrations plan, integrations review, dry-run integrations apply, integrations approve, and approval-gated integrations write. Fixture MCP tests prove generic database needs ask for provider clarification before Supabase can be planned, unknown servers fail closed, failed reviews block approval, dry-run apply does not write config, and writeFiles=true is only called after a separate TUI approval. Copilot hardening was adopted to persist metadata instead of raw MCP config payloads, require a passing install review, rehydrate install plans before apply/write, and clear stale state after changed answers. Verification: cargo test --workspace --test mcp_integrations, npm run docs:build, npm run release:check, and PR #158 CI.conditional go: TUI install recommendations are now guarded by recommendation, review, approval, and metadata-sanitization state; final Copilot review disposition remains before #146 is full go.
2026-05-17#147 repo foundry planning slice: the TUI command palette now has foundry plan <repo> [owner=name], foundry status, foundry approve <reason>, and dry-run foundry create. The plan is available only after file-plan review, defaults every GitHub target to private, includes AGENTS.md, README.md, .env.example, architecture/build docs, CI, issue template, and PR template artifacts, and blocks create preview until separate repo-creation approval exists. Changing brief answers clears stale foundry state. Verification: cargo fmt --check, cargo test --workspace --test foundry_workflows, cargo test -p architect-tui foundry, and npm run release:check.conditional go: repo-foundry intent is now shaped and approval-gated without live GitHub mutation; real private repo creation, first commit, and first PR smoke remain before #147 can be full go.
2026-05-17#147 repo foundry execution-boundary slice: foundry stage now materializes scaffold artifacts into a separate .architect-mcp/foundry/<session>/<repo> git repository with main and architect/bootstrap branches, writes the first draft PR evidence body, and consumes staging approval. foundry create remains preview-only by default, while foundry create --execute requires a staged repo plus a fresh approval before running private gh repo create, push, and draft PR commands. Verification: cargo fmt --check, cargo test --workspace --test foundry_workflows, cargo test -p architect-tui foundry, and npm run release:check.conditional go: the foundry path no longer points at the current source checkout and now has a real execution boundary; live private repo smoke is still required before #147 is full go.
2026-05-17#147 live repo-foundry smoke slice: added architect-mcp-tui foundry-smoke as a repeatable dry-run/live proof path. The dry-run mode drives the command-palette work gate through grill, contract, plan review, file-plan review, private repo planning, local staging, and create preview without GitHub mutation. The live mode requires both --execute and --confirm-private-repo-mutation, refuses an existing target repo, creates a private repo, pushes main and architect/bootstrap, opens a first draft PR, verifies the repo is private, and reports retained evidence URLs. The generated scaffold now includes package.json plus a scaffold test when npm test is required, filters non-shell verification labels out of CI, and uses actions/checkout@v6. Live evidence: private repo tonycdr-prog/architect-mcp-foundry-live-8ba50bc2, draft PR #1, and GitHub Actions run 25981045792 passed. Verification: cargo test --workspace --test foundry_smoke, cargo test -p architect-tui foundry, architect-mcp-tui foundry-smoke --owner local-smoke --repo architect-mcp-foundry-dry-run-v6 --json --keep-workspace, architect-mcp-tui foundry-smoke --owner tonycdr-prog --repo architect-mcp-foundry-live-8ba50bc2 --execute --confirm-private-repo-mutation --json --keep-workspace, gh run watch 25981045792 -R tonycdr-prog/architect-mcp-foundry-live-8ba50bc2 --exit-status, npm run tui:live-qa, and npm run release:check.conditional go: the live private repo proof is now real and green; #147 should remain open until the stacked PRs land on main and the retained smoke repo cleanup/retention decision is accepted.
2026-05-17#148 governance audit slice: added architect-mcp-tui governance-audit as a read-only workspace audit. It reports required governance artifacts, package/CI/release readiness, lockfile and Dependabot presence, environment templates, memory-policy safety, deterministic gates versus smoke evidence, memory-safe durable proposals, and live review_local_workspace mode=audit drift evidence when MCP is available. AGENTS.md now carries the repo memory policy explicitly. Verification: cargo test -p architect-tui governance_audit, node --import tsx --test tests/tuiShim.test.ts, node bin/architect-mcp-tui.cjs governance-audit --json, npm run tui:live-qa, and npm run release:check.conditional go: the first governance audit path is repeatable and read-only; richer recurring QA workflows and public-safe issue evidence templates remain for later #148 slices.
2026-05-17#148 recurring/public-safe evidence slice: added .github/workflows/governance-audit.yml with manual dispatch and weekly schedule, pinned actions, source TUI build, governance-audit --json, and a public-safe GitHub step summary instead of raw JSON upload. Added the Governance audit report issue form and docs/governance-audit.md with redaction guidance and release-gate boundaries. Verification: node --import tsx --test tests/supplyChain.test.ts, npm run docs:build, and npm run release:check.conditional go: recurring/manual governance evidence and public-safe reporting now exist; broader read-only samples against maintained repos remain before #148 can be called full go.
2026-05-17#148 fresh public-repo sample slice: fresh-cloned mvanhorn/cli-printing-press, mvanhorn/printing-press-library, ratatui/ratatui, and modelcontextprotocol/typescript-sdk, then ran the source-built architect-mcp-tui governance-audit --json against each with the current local MCP server. Every sample reported readOnly: true, left the fresh clone with zero git-status changes before and after the audit, and completed live review_local_workspace mode=audit without writing files. The samples exposed and fixed a memory-scope bug: unrelated repos no longer receive hardcoded architect-mcp memory proposals, and unadopted repos now report zero memory proposals unless repo-local artifacts support them. Verification: cargo fmt --check, cargo test -p architect-tui governance_audit, cargo build --workspace --bin architect-mcp-tui, node bin/architect-mcp-tui.cjs governance-audit --json, four fresh-clone audit runs, and npm run release:check.conditional go: the missing broader read-only sample evidence now exists, the memory-policy bug is fixed, and the local release gate passed; PR CI and stacked landing remain before the #148 PR can be treated as merge-ready.
2026-05-17#167 launch judge slice: architect-mcp-tui launch-judge --json now combines governance audit, terminal smoke, release-gate execution state, git worktree state, and known manual-evidence gaps into a single go, conditional_go, or no_go report. The judge defaults to safe evidence collection, treats skipped release checks and missing Windows/Linux terminal evidence as conditional rather than launch-ready, and exits non-zero only for no_go. Verification: focused launch-judge tests, shim help-surface tests, docs build, npm run tui:live-qa, and npm run release:check.conditional go: hard judge reporting now exists in the TUI, but final launch go still requires stack landing, release-gate evidence from the final clean checkout, and external terminal evidence.
2026-05-17#169 launch evidence slice: architect-mcp-tui launch-judge --terminal-evidence <file> consumes a public-safe Linux/Windows terminal evidence JSON summary, keeps absent or incomplete evidence as conditional_go, and fails closed on unsafe raw log fields, absolute local paths, secret-shaped strings, duplicate platforms, unsupported platforms, or failed platform QA.conditional go: the judge can now consume external terminal evidence safely; final launch still depends on real Linux/Windows evidence and landing the stacked TUI PRs.
2026-05-17#171 terminal QA reporting slice: public Terminal QA docs and the GitHub issue form now ask for launch-judge-compatible public-safe evidence summaries instead of raw smoke JSON, keeping local cache paths, raw stdout/stderr, private repo names, tokens, and full environment dumps out of public reports.conditional go: the public evidence collection path now matches the launch judge schema; real Linux/Windows terminal evidence is still required for final launch go.
2026-05-17#173 generated terminal evidence slice: architect-mcp-tui terminal-evidence --json now runs the TUI smoke internally and emits launch-judge-compatible public-safe evidence, mapping smoke status to passed, passed_with_warnings, or failed while omitting raw JSONL, stdout/stderr logs, local binary/cache paths, private repo names, and home-directory paths.conditional go: evidence generation is now command-backed and release-gated; final launch still depends on real Linux/Windows terminal evidence produced on those platforms and landing the stacked PRs.
2026-05-17#175 multi-file evidence slice: architect-mcp-tui launch-judge --terminal-evidence <file> now accepts repeated evidence files, merges separately generated Linux and Windows reports, keeps sourcePath filename-only, and preserves the existing fail-closed validation for unsafe fields, local paths, secret-shaped strings, duplicate platforms, failed platform QA, and missing platforms.conditional go: maintainers no longer need to hand-merge public evidence JSON; final launch still depends on real Linux/Windows terminal evidence from target platforms and landing the stacked PRs.
2026-05-17#177 public launch-summary slice: architect-mcp-tui launch-judge --public-summary now emits a compact public-safe decision summary with check status, next actions, release-gate attempt/result, terminal-evidence source filenames, and terminal-evidence platform status while omitting workspace paths, governance/smoke internals, terminal-evidence freeform source text, command summaries, notes, raw command tails, stdout/stderr logs, cache paths, private repo names, and token-shaped values. npm run tui:live-qa now uses that public summary instead of printing full launch-judge JSON in public CI logs. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test -p architect-tui launch_judge, node --import tsx --test tests/supplyChain.test.ts, npm run docs:build, cargo build --workspace --bin architect-mcp-tui, public-summary CLI smoke with separate Linux/Windows evidence files, npm run build, npm run tui:live-qa, npm run release:check, and git diff --check.conditional go: public launch decisions can now be posted without leaking full local diagnostics; final launch still depends on real Linux/Windows terminal evidence from target platforms and landing the stacked PRs.
2026-05-17#179 launch stack-readiness slice: architect-mcp-tui launch-stack --json now summarizes explicit PR numbers and external blocker issue numbers into go, conditional_go, or no_go using read-only GitHub CLI lookups. Failed checks and dirty/unknown merge states are no_go; draft PRs, pending checks, temporarily unstable merge states caused by pending checks, and open blocker issues are conditional_go; closed blockers and clean, non-draft, green PRs can contribute to go. Live smoke against PR #180 plus blocker #136 returned conditional_go with #180 clean/green/draft and #136 open. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace, node --import tsx --test tests/tuiShim.test.ts, node --import tsx --test tests/supplyChain.test.ts, npm run docs:build, cargo build --workspace --bin architect-mcp-tui, live launch-stack --json, npm run build, and npm run release:check.conditional go: stack state can now be reported without hand-reading every PR, but final launch still depends on real Linux/Windows terminal evidence, closing or waiving #136, and landing the stacked PRs.
2026-05-17#181 CI terminal-evidence slice: the TUI live-QA workflow now runs architect-mcp-tui terminal-evidence --json on hosted Ubuntu and Windows after npm run tui:live-qa and appends the public-safe JSON to the GitHub step summary. Docs make the boundary explicit: this is hosted baseline evidence only and does not close or replace #136 real post-release terminal QA. Verification: node --import tsx --test tests/supplyChain.test.ts, npm run docs:build, git diff --check, and npm run release:check.conditional go: hosted Linux/Windows evidence is easier to collect and compare, but launch remains blocked on real Windows/Linux terminal reports or an explicit maintainer waiver for #136.
2026-05-17#183 issue evidence-collector slice: architect-mcp-tui collect-terminal-evidence --json --repo <owner/repo> --issue <number> now reads GitHub issue body/comments through read-only GitHub CLI lookup, extracts fenced or standalone terminal-evidence JSON envelopes, validates them with the same launch-judge safety rules, and prints merged evidence for launch-judge --terminal-evidence. A live run against #136 returned conditional_go with no extracted blocks, proving the command does not manufacture missing Linux/Windows evidence. Verification: focused Rust collector tests, focused launch-judge tests, shim/docs tests, live #136 collector smoke, and npm run release:check.conditional go: maintainer evidence collection is less manual and safer, but launch remains blocked until real Linux/Windows terminal reports exist or #136 is explicitly waived.
2026-05-17#185 placeholder-evidence hardening slice: terminal evidence validation now treats unchanged issue-template placeholders such as REPLACE with ..., issue #136 public-safe terminal QA report, and the default command-summary text as incomplete evidence. Follow-up d6d2194 tightened the boundary so realistic reports using notes: "summary only, no raw logs" are not rejected by that note alone. The issue form now uses explicit replacement placeholders, docs explain that placeholder reports keep the launch judge at conditional_go, and PR #186 is clean with 8 passed checks. Verification: cargo fmt --check, cargo test -p architect-tui launch_judge, cargo test -p architect-tui issue_terminal_evidence, node --import tsx --test tests/supplyChain.test.ts, npm run docs:build, git diff --check, and npm run release:check.conditional go: the collector and launch judge are less likely to mistake examples for proof, but real Linux/Windows terminal reports are still required before launch go.
2026-05-17Launch-stack readiness cleanup: PRs #170, #172, #174, #176, #178, #180, #182, #184, and #186 were marked ready for review after all were clean and green. A full architect-mcp-tui launch-stack --json run against PRs #150-#164, #166, #168-#186, and blocker #136 returned conditional_go with every listed PR non-draft, CLEAN, and passing; the only remaining next action was to resolve or explicitly waive #136.conditional go: the implementation stack is reviewable and mechanically clean, but final launch go remains blocked on real Linux/Windows terminal QA evidence or waiver.
2026-05-17#187 explicit blocker-waiver slice: architect-mcp-tui launch-stack now accepts --waive-blocker ISSUE=reason, records waived open blockers as status: waived with the public reason, and still fails closed for malformed, empty, duplicate, or unmatched waivers. A live stack run without a waiver stayed conditional_go on open #136; the same stack with a test waiver returned go and recorded the waiver reason without claiming terminal evidence exists.conditional go: the waiver path now models a human launch decision explicitly, but no real #136 waiver has been approved and real Linux/Windows terminal evidence remains preferred.
2026-05-17#189 combined launch-readiness slice: architect-mcp-tui launch-readiness --json now combines read-only launch-stack state with read-only terminal-evidence issue collection. Focused tests prove clean stack plus missing evidence stays conditional_go, malformed or unsafe evidence is no_go, complete Linux/Windows evidence can be go, and explicit waivers remain visible as waivers without becoming evidence. Live smoke against PR #188 and issue #136 returned conditional_go with #136 missing terminal-evidence JSON; the same command with a test waiver kept terminal evidence missing. Docs explicitly keep hosted CI terminal-evidence summaries as baseline-only signals that do not satisfy #136 manual QA.conditional go: maintainers now get one public-safe rollup for stack and evidence state, but real #136 evidence or a real maintainer waiver is still required before launch go.
2026-05-17#191 stacked PR discovery slice: architect-mcp-tui launch-stack and architect-mcp-tui launch-readiness now accept --stack-from-pr <number> to discover a stacked PR chain by following open PR base branches back to a non-PR base branch. The JSON report includes the discovered base-to-head PR order and stopped base branch. Focused tests cover base-to-head ordering, closed-head fail-closed behavior, and cycle detection. Live read-only smoke against PR #190 discovered PRs #150-#162, #168, #170, #172, #174, #176, #178, #180, #182, #184, #186, #188, and #190, stopped at main, and returned conditional_go because #188 was reported unstable/no checks and #136 had no terminal-evidence JSON blocks. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, focused launch-stack/readiness tests, docs build, targeted Node public-surface tests, live launch-readiness --stack-from-pr 190, and npm run release:check.conditional go: maintainers no longer have to hand-enumerate the stack, and the command still refuses final go while #136 remains unresolved.
2026-05-17Launch-stack blocker cleanup: PR #188 was refreshed with the same self-review warning threshold stabilization already used higher in the stack, then remote CI passed across verify, install-smoke on Ubuntu/macOS/Windows, and live-qa on Ubuntu/macOS/Windows. A follow-up live read-only launch-readiness --stack-from-pr 190 --blocker 136 --terminal-evidence-issue 136 run reported PRs #150-#162, #168, #170, #172, #174, #176, #178, #180, #182, #184, #186, #188, and #190 as clean, non-draft, and passing.conditional go: the explicit PR stack is now mechanically clean; #136 remains the only launch-readiness blocker because real Linux/Windows terminal evidence or a maintainer waiver is still missing.
2026-05-17#193 terminal-evidence waiver slice: architect-mcp-tui launch-readiness now accepts --waive-terminal-evidence ISSUE=reason, records the waiver separately from the terminal-evidence issue report, and only applies it to missing or incomplete terminal evidence for the matching issue. Malformed, unsafe, duplicate, unmatched, empty, or issue-less waiver paths fail closed. Live read-only smoke without the waiver stayed conditional_go on issue #136 missing terminal-evidence JSON; the same stack with explicit blocker and terminal-evidence waivers returned go while the nested terminal-evidence issue still reported zero extracted blocks and missing Linux/Windows evidence. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, focused launch-readiness tests, npm run docs:build, live launch-readiness --stack-from-pr 190, and npm run release:check.go: the implementation models an explicit human launch decision without manufacturing terminal evidence; real #136 evidence is still preferred, and an actual maintainer waiver remains a release decision rather than test proof.
2026-05-17#195 launch-readiness public-summary slice: architect-mcp-tui launch-readiness --public-summary now emits a compact public-safe JSON summary for PR comments, release notes, and issue follow-up. The summary keeps the result, repository, read-only flag, discovered PR count/order, PR status counts, blocker issue state, terminal-evidence issue status, report count/platforms, waiver state, findings, and next actions while omitting full PR/check payloads and terminal-evidence freeform source, command summaries, and notes. Live read-only smoke against top PR #194 returned conditional_go with 27 clean passing PRs and #136 missing evidence; the same command with explicit blocker and terminal-evidence waivers returned go while preserving the nested evidence gap. Verification: focused Rust public-summary tests, focused launch-readiness tests, docs build, live public-summary smokes, and npm run release:check.go: maintainers can now post launch-readiness evidence without hand-condensing raw JSON or hiding the evidence/waiver boundary.
2026-05-17#197 governance-audit public-summary slice: architect-mcp-tui governance-audit --public-summary now emits public-safe audit evidence for issue comments, release notes, and external maintainer handoff. The summary keeps status, read-only state, category statuses, deterministic and smoke evidence counts/names, memory proposal safety counts, MCP review counters, finding counts, redacted findings, and next actions while omitting workspace paths, raw command strings, raw memory proposal text, raw MCP details, finding evidence fields, private names, and token-shaped values. The recurring governance workflow now consumes the public summary directly instead of parsing raw audit JSON into a public-looking report. Verification: focused governance public-summary tests, supply-chain workflow tests, docs build, local governance-audit --public-summary smoke, and npm run release:check.go: maintained-repo audit evidence can now be posted publicly without hand-condensing raw audit JSON or exposing memory/config details.
2026-05-17#199 release evidence-index slice: architect-mcp-tui evidence-index --json now combines the launch-readiness public summary and governance-audit public summary into one read-only public release artifact. It reports the combined go, conditional_go, or no_go result, section summaries, waiver visibility, findings, and next actions while defensively redacting local paths and token-shaped values and omitting raw local diagnostics. Live read-only smoke against top PR #198 plus #136 returned conditional_go with 29 clean passing PRs, governance passed, and #136 still missing Linux/Windows terminal-evidence JSON. Verification: focused evidence-index Rust tests, shim and supply-chain public-doc tests, docs build, live evidence-index --json smoke, npm test, npm run typecheck, npm run build, and npm run release:check.go: maintainers now have one public-safe release handoff artifact; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#201 release evidence Markdown slice: architect-mcp-tui evidence-index --markdown now renders the same public-safe evidence index as a human-readable Markdown handoff for PR comments, release notes, and goal-ledger updates. --json and --markdown are mutually exclusive, and the Markdown output includes combined result, read-only status, launch readiness, governance audit, terminal evidence, waiver state, findings, and next actions without introducing raw local diagnostics. Live read-only smoke against top PR #200 plus #136 returned Markdown conditional_go with 30 clean passing PRs, governance passed, and #136 still missing Linux/Windows terminal-evidence JSON. Verification: focused evidence-index Rust tests, public-doc tests, docs build, live Markdown smoke, ambiguous output-mode smoke, and npm run release:check.go: public handoff no longer requires manually formatting JSON; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#203 release evidence handoff-file slice: architect-mcp-tui evidence-index --markdown-output <path> now writes the same public-safe Markdown handoff to a workspace-relative file, creates parent directories, rejects absolute and parent-traversal output paths, and does not post to GitHub automatically. Live smoke wrote .architect-mcp/release/evidence-index-smoke.md from the source-built TUI and returned conditional_go with 31 clean passing PRs, governance passed, and #136 still missing Linux/Windows terminal-evidence JSON. Verification: focused evidence-index Rust tests, public-doc tests, docs build, live Markdown-output smoke, and npm run release:check.go: the release handoff can now survive as a durable local artifact without adding external mutation; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#205 strict release evidence gate slice: architect-mcp-tui evidence-index --require-go now preserves the normal public handoff behavior by default while letting launch scripts fail unless the combined release evidence result is exactly go. conditional_go still exits zero without --require-go, and no_go remains non-zero in all modes. Live strict smoke against top PR #204 plus #136 returned the expected non-zero strict failure because the release evidence is still conditional while #136 lacks Linux/Windows terminal-evidence JSON. Verification: focused evidence-index Rust tests, public-doc tests, docs build, live strict smoke, and npm run release:check.go: the release handoff can now act as a hard gate without hiding incomplete evidence; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#207 terminal-evidence issue-comment slice: architect-mcp-tui terminal-evidence --markdown now emits a ready-to-paste public-safe GitHub issue comment with fenced terminal-evidence JSON that collect-terminal-evidence can ingest. The command remains stdout-only and does not create, edit, or close GitHub issues. Terminal-evidence source and notes redaction now also catches token-shaped values before output. Live smoke generated Markdown with a fenced JSON block and redacted supplied local paths plus ghp_/npm_ token-shaped values. Verification: focused terminal-evidence Rust tests, public-doc tests, live Markdown smoke, docs build, and npm run release:check.go: #136 testers now have a lower-friction evidence handoff that still requires manual posting and existing launch-readiness validation; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#209 terminal-evidence timestamp slice: generated architect-mcp-tui terminal-evidence reports now fill the existing collectedAt field with the current UTC date by default, and maintainers can pass a validated --collected-at YYYY-MM-DD override when summarizing already-verified external evidence. The issue collector's missing-evidence next action now points testers to terminal-evidence --markdown instead of asking them to hand-post JSON. Verification: focused terminal-evidence and issue-collector Rust tests, public-doc tests, live Markdown smoke, docs build, and npm run release:check.go: #136 evidence is more complete without manual JSON edits or automatic GitHub mutation; final launch still depends on landing the stack and collecting or explicitly waiving #136 platform evidence.
2026-05-17#165 ledger-current slice after PR #210: this goal document now records the current top-of-stack evidence after the collectedAt terminal-evidence PR. The update is documentation-only, keeps the runtime /goal active, and adds a focused supply-chain test so the ledger continues to reference the current top PR, active ledger issue, #136 evidence boundary, and npm run release:check gate. Verification: focused public-doc test, docs build, and npm run release:check.conditional go: the durable mission state is current again, but this does not land the stack or satisfy #136 Linux/Windows manual terminal evidence.
2026-05-17#212 ACP session-boundary slice after PR #213: the provisional ACP JSON-RPC surface now rejects unknown adapters, unsupported modes, non-object session params, unknown session parameters, concurrency outside the advertised range, invalid parameter types, and client attempts to override configured worktree isolation or approval policy. Remote PR checks passed across CI verify, label, TUI install-smoke on Ubuntu/macOS/Windows, and TUI live QA on Ubuntu/macOS/Windows. Current launch-readiness evidence against top PR #213 discovered 37 clean PRs and stayed conditional_go only because #136 lacks Linux/Windows terminal-evidence JSON. Verification: focused ACP Rust tests, docs build, git diff --check, and npm run release:check.conditional go: external ACP clients now get fail-closed session configuration, but ACP remains a provisional compatibility surface rather than a full conformance claim and final launch still needs #136 evidence or an explicit waiver.
2026-05-17#214 ACP session-method parameter slice in PR #215, stacked after PR #213: session/prompt, session/get, session/events, and session/cancel now reject non-object params, unknown fields, missing or non-string sessionId, and blank prompt turns before reading or mutating session state. Unknown session ids still use the existing lookup error after params validate. Verification: focused ACP Rust tests, docs build, npm run release:check, and remote PR checks with 8 passed / 0 failed.conditional go: ACP session methods now fail closed at the JSON-RPC boundary, but ACP remains provisional and final launch still needs #136 evidence or an explicit waiver.
2026-05-17#216 ACP JSON-RPC envelope slice in PR #217, stacked after PR #215: the provisional ACP stdio boundary now rejects non-object messages, missing or non-2.0 jsonrpc, missing, non-string, or blank method, and object/array/boolean request ids with -32600 before method dispatch. Valid notifications still produce no response, unknown methods still return -32601, and unknown sessions still use the existing lookup error after envelopes and params validate. Verification: focused ACP Rust tests, docs build, and npm run release:check.conditional go: ACP request envelopes now fail closed before dispatch, but ACP remains provisional and final launch still needs #136 evidence or an explicit waiver.
2026-05-17#218 TUI promotion-override evidence slice in PR #219, stacked after PR #217: overrides now require an explicit maintainer-written reason before they can bypass failed adapter, verification, or review gates. Blank override commands and the former default placeholder are rejected, promotion readiness treats invalid override records as blockers instead of bypasses, and overrides still cannot bypass isolated-worktree or changed-file evidence. Verification: focused TUI override tests, docs build, and npm run release:check.conditional go: override evidence is stricter and audit-visible; final launch still needs the stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#220 TUI promotion-receipt slice in PR #221, stacked after PR #219: successful promotion now records compact session metadata for the approval or override decision, reason, promoted files, changed-file evidence, review gate state, verification state, and adapter-run issue summary. Legacy sessions default to no receipt, and receipts avoid raw adapter logs or terminal output. Verification: focused promotion/session Rust tests, docs build, and npm run release:check.conditional go: promotion decisions are more auditable after mutation; final launch still needs the stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#222 TUI promotion-receipt inspection slice in PR #223, stacked after PR #221: the TUI now exposes a read-only promotion receipt command so operators can inspect compact receipt metadata after promotion and after session reload without exposing raw adapter logs or terminal output.conditional go: this advances operator auditability; final launch still needs the stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#224 launch stack merge-plan slice in PR #225, stacked after PR #223: architect-mcp-tui launch-stack --merge-plan emits a read-only operator checklist from existing launch-stack data. It lists the manual base-to-head merge order, per-PR ready/hold state, external blocker state, and next actions while explicitly refusing to merge PRs, close issues, edit branches, tag releases, publish packages, or treat missing #136 Linux/Windows terminal evidence as proof.conditional go: maintainers get a clearer landing checklist, but final launch still needs the stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#226 public-safe foundry smoke summary slice in PR #227, stacked after PR #225: architect-mcp-tui foundry-smoke --public-summary emits compact evidence for repo-foundry smoke runs. It keeps dry-run versus live mode, mutation requirements, staged artifact counts, private repo verification, draft PR verification, command pass/fail counts, retention guidance, findings, and next actions while omitting workspace paths, staged repo paths, private repo target names/URLs, raw command strings, stdout/stderr tails, command transcripts, raw MCP payloads, and token-shaped values.conditional go: foundry smoke evidence can now be shared publicly without leaking private proof-repo details; final launch still needs stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#228 foundry proof-repo retention decision slice in PR #229, stacked after PR #227: architect-mcp-tui foundry-smoke now accepts explicit --retention-decision retain, delete-later, or manual-review values with a non-empty --retention-reason. Public summaries include structured retention decision metadata, keep deletionPerformed=false, and redact private proof-repo names, URLs, local paths, and token-shaped values from decision reasons.conditional go: the retained proof-repo decision is now public-safe evidence rather than an unstructured issue note; final launch still needs stacked PRs landed and #136 evidence or an explicit waiver.
2026-05-17#230 terminal evidence provenance slice in PR #231: terminal-evidence now records whether a report came from local_terminal, vm_or_cloud_terminal, container, hosted_ci, or unknown, while the launch judge keeps hosted CI, container, missing, or unknown provenance at conditional_go instead of treating it as final manual QA. Public docs now explain that only local terminal or VM/cloud terminal evidence can satisfy #136 without a waiver.conditional go: this hardens the launch evidence boundary, but final launch still needs stacked PRs landed and real Linux/Windows manual terminal reports or an explicit maintainer waiver.
2026-05-17#232 launch-stack review-decision slice in PR #233, stacked after PR #231: launch-stack now fetches GitHub reviewDecision, reports it in JSON/text/merge-plan output, treats requested PR changes as no_go, keeps required review or unknown review states at conditional_go, and preserves existing ready behavior for approved or absent review decisions. Remote checks passed across verify, live-QA, and install-smoke jobs.conditional go: launch readiness is harder to overstate when reviews are unresolved; final launch still needs stacked PRs landed and real Linux/Windows manual terminal reports or an explicit maintainer waiver.
2026-05-17#234 explicit required-check launch-stack slice in PR #235, stacked after PR #233: launch-stack, launch-readiness, and evidence-index now accept repeated --required-check <name> inputs. Missing explicitly required checks are no_go, present pending checks remain conditional_go, present failed checks remain no_go, and merge-plan/text output names missing required checks without mutating GitHub state. PR #235 was marked ready after 8/8 checks passed.conditional go: the launch gate can now require named CI jobs explicitly instead of inferring readiness from whatever checks happen to be reported; final launch still needs stacked PRs landed and real Linux/Windows manual terminal reports or an explicit maintainer waiver.
2026-05-17#236 public required-check evidence slice in PR #238: launch-readiness public summaries and evidence-index Markdown now expose missing explicit required-check evidence with PR numbers and sanitized check names, while still omitting raw check rollups, local paths, token-shaped values, and full PR payloads. PR #238 passed verify, install-smoke on Ubuntu/macOS/Windows, and live-QA on Ubuntu/macOS/Windows, then live launch-readiness from stack head #238 returned 49 clean PRs and 0 missing required checks for verify.conditional go: public handoffs can now show why a required-check launch gate failed without leaking raw GitHub payloads; final launch still needs stacked PRs landed and real Linux/Windows manual terminal reports or an explicit maintainer waiver.
2026-05-17#239 published npm TUI smoke workflow slice in PR #240: add hosted Ubuntu/Windows coverage for the automatable part of #136. The workflow installs the published npm package into a clean temp workspace, points the TUI bridge at the installed package's dist/index.js, runs architect-mcp-tui --help, validates config adapters --json, and proves a gate-only run --jsonl stops at approval without adapter execution.conditional go: this improves package-user baseline evidence, but it is hosted non-interactive CI and cannot satisfy #136 manual Linux/Windows terminal QA by itself.
2026-05-17#241 Linux ARM64 TUI release-assets slice in PR #243: the npm shim already requested a linux-arm64 release asset on Linux ARM64 hosts, but the release workflow did not build one. The slice adds the Linux ARM64 release target, source-built PR install-smoke coverage, and a shim fix so requested platform archive extensions are used instead of host platform extensions.conditional go: Linux ARM64 package users get a release path after the next tag, but #136 still needs real Linux/Windows terminal evidence or an explicit maintainer waiver.
2026-05-17#242 prompt-injection and gate-bypass threat-model slice: public docs now classify untrusted issue/PR text, repo docs, tool output, web research, and memory as untrusted data; gate boundaries distinguish MCP report-only reviews from TUI state enforcement, CI/release enforcement, and host/human controls; and public-safe bypass fixtures cover untrusted-text gate skipping, direct mutation without gates, fabricated verification claims, and selective MCP calls. Follow-up issues: #244, #245, #246, and #247. Verification: focused threat-model tests, supply-chain docs tests, typecheck, full npm test, docs build, build, diff check, and npm run release:check.conditional go: the boundary is explicit and test-covered; implementation hardening for taint labels, non-TUI gate-completeness receipts, verification receipts, and sequence receipts remains in follow-up issues.
2026-05-17#244 TUI untrusted-input label slice: TUI sessions now persist metadata-only labels for issue/PR text, repo docs, web snippets, MCP responses, tool output, adapter output, test logs, dependency output, and memory/repo context; transcripts and inspectors surface the labels; adapter prompts include a data-only policy notice; and final/session review requests pass the labels to architect-mcp without raw payloads. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace, source-built architect-mcp-tui smoke --json, npm test, npm run docs:build, npm run build, git diff --check, and npm run release:check.conditional go: labels make the TUI work-gate boundary more visible, but they remain workflow hardening rather than prompt-injection prevention.
2026-05-17#245 non-TUI work-gate completeness audit slice: added audit_work_gate_completeness as a read-only advanced MCP tool for direct-client evidence. It distinguishes missing, partial, stale, out-of-order, unknown-gate, and complete ordered evidence without mutating files or reflecting raw payload values. Verification: focused work-gate completeness tests, schema tests, tool-response tests, npm run typecheck, npm test, npm run docs:build, npm run build, git diff --check, and npm run release:check.conditional go: direct-client reviewers now get a compact detection report, but this still does not force clients to call every gate or sandbox direct file edits.
2026-05-17#246 verification command receipt slice: final/session review now accept structured command receipts with command, status, source, timestamp or run id, and public-safe summary. Receipt review distinguishes claimed checks, session verification records, and attached receipts; it reports missing, stale, failed, skipped, not-run, and fresh matching evidence while redacting token-shaped values and local paths from public summaries. Verification: focused receipt, final/session review, schema, supply-chain, and tool-response tests; npm run typecheck; npm run docs:tool-reference:check; npm run docs:build; npm test; npm run build; git diff --check; npm run release:check.conditional go: direct clients can attach stronger command evidence without raw logs, but receipts remain evidence inputs and do not replace CI, terminal QA, or human review.
2026-05-17#247 work-gate sequence receipt slice: create_work_gate_sequence_receipt adds a stricter direct-client receipt helper on top of the work-gate completeness audit. It records ordered gate status, confirmed input presence, confirmed evidence presence, timestamp or run-id presence, missing steps, and public-safe summaries while redacting token-shaped values and local paths. Unknown, stale, out-of-order, missing, and unconfirmed records fail closed.conditional go: sequence receipts make direct-client PR evidence harder to overstate, but they remain detection-only and cannot force external clients to call tools or prevent direct file edits.
2026-05-18#253 mergeable unstable launch-readiness slice: launch-stack now fetches GitHub mergeable evidence and can treat mergeStateStatus=UNSTABLE as ready only when GitHub also reports MERGEABLE, no checks are failed or pending, and the caller supplied explicit required-check evidence that is present and green. Dirty/unknown merge states, failed checks, missing required checks, pending checks, requested changes, drafts, and unresolved terminal evidence remain gated. Verification: cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test -p architect-tui launch_stack, cargo test --workspace, node --import tsx --test tests/supplyChain.test.ts, node --import tsx --test tests/readinessReport.test.ts tests/toolResponses.test.ts, npm run docs:build, cargo build --workspace --bin architect-mcp-tui, live launch-readiness --stack-from-pr 250 --required-check verify, and npm run release:check.conditional go: this removes a false launch-stack hold for mergeable green stacked PRs; live PR #250 evidence now passes 54/54 PRs with no missing required checks, while #136 still blocks final launch until Linux/Windows terminal evidence or an explicit waiver exists.
2026-05-18#255 terminal-evidence issue-target slice: terminal-evidence --markdown now accepts --issue-url <github issue url> so generated public-safe Markdown can name the exact issue testers should paste into while remaining stdout-only. The flag accepts only plain GitHub issue URLs and fails without echoing unsafe input. This slice also hardens --platform so it must match the current terminal OS and cannot relabel macOS, CI, or container output as Linux/Windows launch evidence.conditional go: tester handoff is clearer and the evidence generator is harder to misuse, but #136 still needs real Linux/Windows terminal reports or an explicit waiver before final launch go.
2026-05-18#257 unresolved review-thread launch-readiness slice: launch-stack now fetches GitHub review-thread evidence for each PR, records the unresolved count in public-safe PR summaries, keeps unresolved threads at conditional_go, and carries the count into launch-readiness public summaries and evidence-index Markdown without exposing review text. Review-thread lookup failures fail closed as launch-stack findings.conditional go: launch readiness is harder to overstate when review conversations remain unresolved; final launch still needs stacked PRs landed and #136 Linux/Windows terminal evidence or an explicit waiver.
2026-05-18#259 terminal QA template provenance slice: the GitHub Terminal QA report template now includes environment in the fallback evidence JSON and tells manual reporters that local_terminal or vm_or_cloud_terminal is required for launch-relevant Linux/Windows evidence, while hosted_ci, container, missing, or unknown provenance remains conditional.conditional go: this reduces the chance that valid external testers submit evidence that cannot satisfy #136 because provenance was omitted; it does not itself provide Linux/Windows terminal evidence or waive #136.
2026-05-18#261 terminal evidence provenance summary slice: launch-readiness public summaries now expose per-report terminal evidence platform, status, environment provenance, and collected date; evidence-index Markdown renders the same provenance rows while still omitting source text, command summaries, notes, raw issue bodies, stdout/stderr, local paths, and token-shaped values.conditional go: maintainers can judge #136 evidence quality from the public release handoff without opening raw evidence blocks; the slice does not itself provide Linux/Windows terminal evidence or waive #136.
2026-05-18#263 unresolved review-thread handoff slice: full-stack launch readiness from stack head #262 showed unresolved review-thread holds across older stacked PRs in addition to #136 terminal evidence. launch-stack now carries additive public-safe thread routing metadata for unresolved threads so maintainers can find the conversations without exposing review bodies or diff hunks.conditional go: review-thread debt is now actionable in launch handoffs, but the actual PR conversations still need maintainer resolution and #136 still needs Linux/Windows terminal evidence or an explicit waiver.
2026-05-18#265 direct-client public-safety slice: launch-readiness from stack head #264 identified unresolved PR #250-#252 review threads in the work-gate completeness, verification receipt, session review, and sequence receipt paths. The slice hardens the direct-client audit surface so canonical gate completeness cannot be narrowed by caller-selected required gates, run ids alone do not prove freshness, invalid now inputs are reported, required check labels and verification notes are redacted, raw output markers are collapsed, and sequence receipts expose timestamp presence rather than raw timing metadata.go for the #265 slice after focused tests, release-check, implementation review, final/session review, and PR #250-#252 review-thread resolution; overall launch remains conditional_go because older review threads and #136 evidence remain.
2026-05-18#267 threat-model cross-reference hardening slice: PR #248 review-thread debt identified that bypass-case source and boundary ids were plain strings, docs-alignment tests only checked id presence, and the slice build-plan scope omitted top-level README and llms.txt public docs touched by the threat-model PR. The slice added fail-closed reference validation, row-level docs assertions, Copilot-reviewed invalid-reference overclaim coverage, and resolved the three PR #248 review threads.go for the #267 slice after focused tests, typecheck, full npm test, docs build, package build, release-check, MCP implementation/final/session reviews, Copilot review, green PR #268 CI, and launch-stack go; overall launch remains conditional_go because older review threads and #136 evidence remain.
2026-05-18#269 TUI promotion-readiness evidence slice: PR #155 review-thread debt identified that operator docs did not name all promotion review gates, override wording could read as bypassing changed-file evidence, and promotion tests could pass for unrelated missing-verification blockers.go for the #269 slice after focused Rust tests, targeted Node tests, docs build, release-check, MCP implementation/final/session reviews, Copilot review with no comments, green PR #270 checks, PR #155 review-thread resolution, and launch-stack go for PR #270 and PR #155. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#271 TUI MCP integrations review-blocker slice: PR #158 review-thread debt identified false-green integration tests when Node is unavailable, loose integrations plan parsing, broad MCP install-state invalidation after unrelated answer edits, and contradictory apply/write gate persistence when a write does not complete.go for the #271 slice after work-gate evidence, focused Rust tests, supply-chain ledger tests, clippy, full Rust workspace tests, release-check, MCP implementation/final/session reviews, PR #158 review-thread resolution, and green PR #272 checks. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#273 TUI foundry review-gate hardening slice: PR #159 review-thread debt identified that foundry planning only checked for a recorded file-plan review, repo names beginning with - could render ambiguous gh repo create previews, and owner names did not follow GitHub account naming boundaries.Local go: work-gate evidence passed, foundry commands now block failed file-plan reviews before planning, approval, staging, or create preview, unsafe repo/owner names are rejected before mutation command rendering, focused foundry tests pass, release-check passes, and MCP implementation/final/session reviews pass. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#275 TUI foundry staging/execution boundary slice: PR #160 review-thread debt identified that corrupt resumed session paths could create directories outside .architect-mcp/foundry before validation and that foundry create --execute trusted persisted stage paths with only a .git check.Local go: work-gate evidence passed, staging now validates session and repo path components before creating derived directories, symlinked foundry roots are rejected, execution re-validates the canonical staged repo path against the expected .architect-mcp/foundry/<session>/<repo> path, PR body paths must stay inside the staged repo, focused foundry tests pass, and npm run release:check passes. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#277 TUI governance-audit safety and failure-evidence slice: PR #162 review-thread debt identified weak local-config secret detection, symlink-following config traversal, unbounded --max-files, non-clean MCP review states that could look clean, dropped MCP scan truncation evidence, and fragile recurring workflow summaries.Local go: work-gate evidence passed, local config scanning now skips symlinks and stays inside the workspace, common env and MCP secret-shaped values are detected, --max-files validates against the MCP 1..=5000 range, MCP warn and scan-truncated states produce visible non-clean governance evidence, the recurring workflow always publishes a public-safe summary before preserving failure status, focused tests and npm run release:check pass, and MCP implementation/final/session reviews pass. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#279 TUI launch-judge evidence hardening slice: PR #168 review-thread debt identified that skipped release-check command evidence could look like failed command execution and that launch-judge stdout/stderr tails were line-count bounded but not per-line bounded.Local go: work-gate evidence passed, skipped release-check command evidence is now non-attempted without looking like failed execution, release-check stdout/stderr tails are bounded by both line count and per-line length before JSON/public handoff paths, focused launch-judge tests pass, npm run release:check passes, and MCP implementation/final/session reviews pass. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#281 TUI terminal-evidence fail-closed validation slice: PR #170 review-thread debt identified optional terminal-evidence schemaVersion, malformed platform evidence that only produced conditional warnings, broad docs claims around absolute local-path detection, and missing edge-case tests.Local go: work-gate evidence passed, terminal-evidence envelopes now require schemaVersion: 1, missing or invalid schema versions fail closed, duplicate and unsupported platform evidence fail closed, missing Linux/Windows coverage remains conditional, common Unix absolute local paths are rejected as unsafe public evidence, focused terminal-evidence tests pass, npm run release:check passes, and MCP implementation/final/session reviews pass. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#283 terminal QA issue-template placeholder slice: PR #172 review-thread debt identified that the public Terminal QA report fallback JSON still hard-coded a single platform: linux sample, so unchanged template evidence could be misattributed for Windows, macOS, or other platform submissions.Local go: work-gate evidence passed, the Terminal QA issue-form fallback JSON is now a syntactically valid Linux/Windows placeholder pair with per-platform replacement source and command fields, focused public-surface tests prevent regression to reusable sample evidence, npm run release:check passes, and MCP implementation/final/session reviews pass. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#286 generated terminal evidence integrity slice: PR #174 review-thread debt identified that skipped gates could produce passing-looking evidence, failed smoke evidence could exit zero, public notes/source sanitization needed to cover token-shaped and repo-reference inputs, the issue form made launch evidence optional, and docs still contained platform-override and PowerShell exit-code ambiguity.Local go: work-gate evidence passed, terminal-evidence now rejects --skip-gate, failed generated evidence returns non-zero after printing the public summary, source/notes redaction covers repo references as well as token-shaped and local-path values, the issue-form evidence field is required, docs clarify platform confirmation and repeated-file or issue-comment merge flows, focused tests pass, and npm run release:check passes. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#289 launch-stack public-redaction slice in PR #290: PR #180 review-thread debt identified embedded absolute paths such as path=/tmp/workspace and private-repo docs wording that could make operators think full JSON removes owner/repo identifiers from repository and URL fields.Local go: work-gate evidence passed, launch-stack redaction now catches embedded Unix and Windows local paths behind common delimiters, docs state that full JSON keeps repository and URL identifiers, focused tests pass, and npm run release:check passes. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#291 issue terminal-evidence collector cleanup slice in PR #292: PR #184 review-thread debt identified weak standalone JSON detection, over-broad token redaction, unsupported schema merge risk, duplicated per-block parse/safety findings in top-level launch-readiness findings, and misleading source labels for body-only evidence.go: work-gate evidence passed, standalone issue-body JSON must parse as a whole evidence envelope before acceptance, public text redaction now uses token-shaped segment boundaries while preserving harmless identifiers and GitHub URLs, unsupported schema reports stay rejected and unmerged, exact parse/safety/schema details stay on extractedBlocks[].issues, sourcePath now reflects issue body, comments, or body plus comments, focused tests pass, npm run release:check passes, PR #184 launch-stack is now go, and PR #292 launch-stack is go after green CI. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#293 launch-stack waiver cleanup slice in PR #294: PR #188 review-thread debt identified that blocker waivers accepted an undocumented colon separator and that unmatched-waiver fail-closed behavior was not tested through the production launch-stack report path.go: --waive-blocker now accepts only the documented ISSUE=reason form, malformed colon-form waivers fail closed with a clear finding, unmatched waivers are covered through build_launch_stack_report, docs state the accepted waiver form, focused launch-stack and launch-readiness tests pass, npm run release:check passes, PR #294 launch-stack is go, and PR #188 launch-stack is now go after resolving the two targeted review threads. Overall launch remains conditional_go because older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#295 launch-stack discovery hardening slice in PR #296: PR #192 review-thread debt identified that LaunchStackReport.stack_discovery exposed a type from a private module, that stack discovery depended on a broad capped PR list, and that duplicate open PR head branches could be followed ambiguously.go: LaunchStackDiscovery is now reachable through a public module, --stack-from-pr starts with the named PR and then uses targeted read-only head-branch lookups for each base branch, duplicate open head matches fail closed with the matching PR numbers, docs state the targeted lookup and ambiguity boundary, focused discovery tests pass, npm run release:check passes, hosted PR #296 checks pass after rerunning a Windows setup flake, PR #296 launch-stack is go, and PR #192 launch-stack is now go after resolving the three targeted review threads. Overall launch remains conditional_go because remaining older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#297 launch-readiness public-summary hardening slice in PR #298: PR #196 review-thread debt identified quoted or punctuated local path redaction gaps in launch-readiness public-summary fields and docs that implied private owner/repo identifiers were automatically removed.go: work-gate evidence passed, launch-readiness public-summary regression coverage now exercises quoted Unix paths, home-directory paths, Windows paths, stopped-at-base values, missing required-check names, findings, next actions, repository text, terminal-evidence waiver reasons, and token-shaped values; quoted and punctuated local paths are covered through public-summary regression tests; docs now state that launch-readiness public summaries include the supplied repository value after local-path and secret-shaped redaction; npm run release:check passes; hosted PR #298 checks pass; PR #298 launch-stack is go; and PR #196 launch-stack is now go after resolving the four targeted review threads. Overall launch remains conditional_go because remaining older review threads and #136 Linux/Windows terminal evidence remain.
2026-05-18#299 foundry retention boundary hardening slice in PR #300: PR #229 review-thread debt identified that whitespace-only orphan --retention-reason values could be silently ignored and that retention metadata could be supplied during dry-run foundry-smoke runs where no proof repo exists.go: work-gate evidence passed, whitespace-only orphan retention reasons fail closed, dry-run retention metadata fails closed, focused retention and foundry-smoke tests pass, npm run release:check passes, hosted PR #300 checks pass, PR #300 launch-stack is go, PR #229 launch-stack is now go after resolving the two targeted review threads, and docs state that retention decisions are live proof-repo evidence only. Overall launch remains conditional_go until remaining older review threads are resolved and #136 Linux/Windows terminal evidence is supplied or explicitly waived.
2026-05-18#301 terminal evidence provenance review-thread clearance slice in PR #302: PR #231 review-thread debt was an outdated Copilot comment about making the terminal evidence provenance test deterministic under hosted CI by supplying an explicit local-terminal environment. Current stack evidence shows terminal_evidence_tests.rs already supplies environment: Some("local-terminal"), the thread was resolved, and PR #231 launch-stack is now go.go: work-gate evidence passed, npm run release:check passes, hosted PR #302 checks pass, PR #302 launch-stack is go, PR #231 launch-stack is now go, and this ledger removes PR #231 from the unresolved launch-readiness blocker list while preserving the remaining PR #233, #235, #240, #243, and #136 holds. Overall launch remains conditional_go until those remaining blockers are resolved or explicitly handled.
2026-05-18#303 launch-stack schema compatibility slice in PR #304: PR #233 review-thread debt identified that adding reviewDecision to launch-stack JSON changed the shape while schemaVersion remained 1. Copilot also flagged over-broad docs wording that implied all absent optional launch-stack fields are omitted.go: work-gate evidence passed, absent optional reviewDecision fields are omitted instead of serialized as null, present review decisions still serialize and gate launch readiness, docs state that launch-stack schemaVersion changes only for breaking JSON contract changes and additive fields can appear in version 1, the docs wording is narrowed to reviewDecision only, focused review-decision tests pass, npm run release:check passes, hosted PR #304 checks pass, PR #304 launch-stack is go, and PR #233 launch-stack is now go after resolving the targeted review thread. Overall launch remains conditional_go until the remaining older blockers are handled.
2026-05-18#305 remaining launch-readiness review-thread clearance slice in PR #306: PR #235, PR #240, and PR #243 review-thread debt identified over-broad required-check wording, published-package smoke running as a pull-request gate while testing npm latest, missing temp-workspace isolation for smoke state, ARM64 coverage wording that conflated install-smoke and live-QA matrices, stale ARM64 evidence wording, and a build-plan boundary that omitted bin while the Linux ARM64 slice changed the npm shim.go: work-gate evidence passed after direct grill_me, pre-edit contract, build-plan, and file-plan review; published-package smoke now runs on schedule or manual dispatch, exports ARCHITECT_MCP_WORKSPACE under the temp smoke directory, and remains hosted non-interactive telemetry only; docs distinguish install-smoke ARM64 coverage from live-QA coverage; the recorded install-smoke evidence points at a run with the ARM64 matrix; the Linux ARM64 build-plan boundary includes bin; focused workflow/ledger tests, docs build, and npm run release:check pass; hosted PR #306 checks pass; PR #306 launch-stack is go; and PR #235, PR #240, and PR #243 launch-stack checks are now go after resolving the six targeted review threads. Overall launch remains conditional_go only because #136 still needs real Linux/Windows terminal evidence or explicit waivers.
2026-05-18#284 verification receipt evidence-tier hardening slice: receipt review now separates claimed required-check text, fresh supplied session/local/TUI/adapter/manual evidence, unverifiable provenance with missing/stale/future/invalid freshness, and independent CI evidence. Local, TUI, adapter, and manual receipts without recordedAt no longer count as fresh required evidence, even when they include arbitrary runId values; CI run-id receipts are reported as independently resolvable evidence only while freshness remains satisfied; public-safe receipt output continues to redact raw logs, token-shaped values, and local paths.go: work-gate evidence passed after direct grill_me, build-plan review, and file-plan review; focused receipt/final/session/schema tests pass; typecheck and docs build pass; npm run release:check passes. Overall launch remains conditional_go because the PR stack has not landed and #136 still needs real Linux/Windows terminal evidence or explicit waivers.
2026-05-18#136 launch-boundary evidence update from PR #307: a real Ubuntu 25.10 ARM64 Lima VM built the PR #307 source checkout with Node 20.19.4 and Rust 1.94.0, ran architect-mcp-tui terminal-evidence --markdown --environment vm-or-cloud-terminal, and posted public-safe Linux evidence to issue #136. The collector accepted the block. The maintainer then recorded an explicit Windows terminal-evidence waiver and accepted the Linux adapter-availability warning as non-blocking because the VM proved help, adapter-health reporting, and gate-only work-gate stop behavior.go with explicit waivers: target/debug/architect-mcp-tui launch-readiness --public-summary --repo tonycdr-prog/architect-mcp --stack-from-pr 307 --blocker 136 --terminal-evidence-issue 136 --waive-blocker 136="maintainer accepted launch with Linux VM evidence and Windows terminal evidence waiver" --waive-terminal-evidence 136="maintainer waived remaining Windows real-terminal evidence; Linux VM evidence accepted with adapter warnings non-blocking" --required-check verify returned go, with 83 PRs passed, 0 warnings, 0 failed, unresolved review threads 0, missing required checks 0, and #136 visibly waived. This is a waiver, not Windows proof; future Windows Terminal or PowerShell evidence should still be added when available.

Current Slice Notes

The active implementation slice is #328, documenting the Foundry Mode operating contract after the #327 eval-corpus slice landed in PR #338. The slice should keep public claims aligned with shipped behavior, state that Foundry outputs are preview-only until explicit approval, document PR-template versus recent accepted PR style precedence, preserve the approval-required preview footer, map issues #310-#319 to signal quality, and avoid claiming autonomous external mutation. The previous #327 eval-corpus slice landed in PR #338, closing #327; the previous #325 TUI read-only audit slice landed in PR #337, closing #325; the previous #326 forge-preview slice landed in PR #336, closing #326; the previous #322 decision-ledger routing slice landed in PR #335, closing #322; the previous #321 actionability-scoring slice landed in PR #334, closing #321; the previous #324 evidence-normalization slice landed in PR #333, closing #324; the previous #323 repo-constitution slice landed in PR #332, closing #323; the older launch-hardening stack ended with #284 in PR #307, which had a go judge result after hardening verification receipt evidence tiers, passing focused receipt/final/session/schema/supply-chain tests, typecheck, docs build, stable response checks, readiness-report tests, git diff --check, npm run release:check, implementation review, repo-structure review, final-response review, session review, and hosted CI/install-smoke checks.

Current partial status: #167 through #307 cover local launch judging, public evidence summaries, stack-readiness reporting, CI-hosted terminal-evidence baselines, read-only issue-comment evidence collection, placeholder-evidence rejection, explicit blocker waivers, combined launch-readiness rollup, stacked PR discovery, explicit terminal-evidence waiver modeling, public-safe launch-readiness summaries, public-safe governance-audit summaries, a release evidence index, Markdown handoff for that index, workspace-confined Markdown handoff artifacts, strict go exit gating, ready-to-paste terminal-evidence issue comments, generated collectedAt timestamps, fail-closed ACP session configuration, strict ACP session-method parameter validation, strict ACP JSON-RPC envelope validation, explicit TUI promotion override reason evidence, durable TUI promotion receipts, operator-facing receipt inspection, a read-only launch-stack merge checklist, public-safe repo-foundry smoke summaries, explicit foundry proof-repo retention decisions, provenance-aware terminal evidence validation, PR review-decision launch readiness, explicit required-check launch readiness, public required-check evidence handoffs, published-package hosted smoke coverage, Linux ARM64 TUI release assets, prompt-injection/gate-bypass threat-model coverage, TUI untrusted-input labels, direct-client work-gate completeness auditing, structured verification command receipts, direct-client work-gate sequence receipts, mergeable unstable launch-readiness handling, safer issue-targeted terminal-evidence Markdown, unresolved review-thread launch-readiness gating, terminal-QA template provenance guidance, launch-readiness/evidence-index terminal provenance summaries, unresolved review-thread handoff details, direct-client public-safety hardening for review-thread debt, threat-model cross-reference hardening for PR #248 review-thread debt, TUI promotion-readiness evidence hardening for PR #155 review-thread debt, TUI MCP integrations review-blocker hardening for PR #158 review-thread debt, TUI foundry review-gate hardening for PR #159 review-thread debt, TUI foundry staging/execution boundary hardening for PR #160 review-thread debt, TUI governance-audit safety hardening for PR #162 review-thread debt, TUI launch-judge evidence hardening for PR #168 review-thread debt, TUI terminal-evidence fail-closed hardening for PR #170 review-thread debt, terminal QA issue-template placeholder hardening for PR #172 review-thread debt, generated terminal-evidence integrity hardening for PR #174 review-thread debt, launch-stack public-redaction hardening for PR #180 review-thread debt, issue terminal-evidence collector hardening for PR #184 review-thread debt, launch-stack waiver parser hardening for PR #188 review-thread debt, targeted stack-discovery lookup hardening for PR #192 review-thread debt, launch-readiness public-summary redaction/docs hardening for PR #196 review-thread debt, foundry retention boundary hardening for PR #229 review-thread debt, terminal evidence provenance review-thread clearance for PR #231 review-thread debt, launch-stack schema compatibility hardening for PR #233 review-thread debt, remaining launch-readiness review-thread clearance for PR #235, PR #240, and PR #243 review-thread debt, verification receipt evidence-tier hardening for issue #284, Linux VM terminal evidence for #136, an explicit maintainer waiver for the remaining Windows terminal-evidence gap, the #323 repo-constitution slice, the #324 normalized-evidence slice, the #321 actionability-scoring slice, the #322 decision-ledger routing slice, the #326 forge-preview slice, the #325 TUI read-only Foundry audit and ledger-view slice, the #327 Foundry eval-corpus slice, and the active #328 Foundry operating-contract docs slice. The discovered PR stack from #150 through #307 is mechanically ready in base-to-head order when checked with --required-check verify, with #150 as the first merge candidate and #307 as the current stack head. Current launch readiness from stack head #307 is go only when the explicit #136 blocker and terminal-evidence waivers are supplied; without the waiver, #136 still visibly reports missing Windows terminal proof. The runtime /goal remains active until the full evolved local-first control-plane objective is implemented, landed, released, and verified.

Issue-to-PR stack map: #224 in PR #225, #226 in PR #227, #228 in PR #229, #230 in PR #231, #232 in PR #233, #234 in PR #235, #236 in PR #238, #239 in PR #240, #241 in PR #243, #242 in PR #248, #244 in PR #249, #245 in PR #250, #246 in PR #251, #247 in PR #252, #253 in PR #254, #255 in PR #256, #257 in PR #258, #259 in PR #260, #261 in PR #262, #263 in PR #264, #265 in PR #266, #267 in PR #268, #269 in PR #270, #271 in PR #272, #273 in PR #274, #275 in PR #276, #277 in PR #278, #279 in PR #280, #281 in PR #282, #283 in PR #285, #286 in PR #287, #289 in PR #290, #291 in PR #292, #293 in PR #294, #295 in PR #296, #297 in PR #298, #299 in PR #300, #301 in PR #302, #303 in PR #304, #305 in PR #306, and #284 in PR #307.

Before claiming a TUI slice complete, run the relevant TUI checks and the clean release gate:

bash
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
architect-mcp-tui smoke --json
architect-mcp-tui walkthrough --json
architect-mcp-tui promotion-smoke --adapter codex --json --keep-workspace
npm run release:check

Released under the MIT License.