From 5f6d1ebafa98413845dadbda1effdceed8c29eae Mon Sep 17 00:00:00 2001 From: Rickard von Haugwitz Date: Fri, 29 May 2026 17:45:42 +0200 Subject: [PATCH] Prune stale planning artifacts --- .../bash-generated-cli.decomposition.json | 98 ------- ...long-horizon-evaluation.decomposition.json | 251 ------------------ ...-assurance-requirements.decomposition.json | 146 ---------- ...owershell-generated-cli.decomposition.json | 103 ------- .agentic-workspace/planning/state.toml | 11 +- 5 files changed, 1 insertion(+), 608 deletions(-) delete mode 100644 .agentic-workspace/planning/decompositions/bash-generated-cli.decomposition.json delete mode 100644 .agentic-workspace/planning/decompositions/github-1124-long-horizon-evaluation.decomposition.json delete mode 100644 .agentic-workspace/planning/decompositions/github-1130-assurance-requirements.decomposition.json delete mode 100644 .agentic-workspace/planning/decompositions/powershell-generated-cli.decomposition.json diff --git a/.agentic-workspace/planning/decompositions/bash-generated-cli.decomposition.json b/.agentic-workspace/planning/decompositions/bash-generated-cli.decomposition.json deleted file mode 100644 index 05e17ff8..00000000 --- a/.agentic-workspace/planning/decompositions/bash-generated-cli.decomposition.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "kind": "planning-decomposition/v1", - "title": "Generated Bash CLI transport epic", - "status": "closed", - "larger_intended_outcome": "Promote Bash from an explicit deferred generated command target into the first additional shell-family generated command transport while keeping shell behavior downstream of command-package IR.", - "non_goals": [ - "Do not implement runtime primitive behavior in Bash.", - "Do not make Bash a first-line ordinary development dependency.", - "Do not hand-author command semantics outside command-package IR.", - "Do not promote PowerShell until the Bash shell-family boundary and proof route are proven." - ], - "candidate_lanes": [ - { - "id": "bash-parser-help-boundary", - "title": "Bash parser and help projection boundary", - "readiness": "deferred", - "outcome": "Bash target can render command names, help text, option metadata, effect hints, and unsupported-command guidance from command-package IR without owning target-specific command semantics.", - "owner_surface": "src/agentic_workspace/contracts/command_package_ir.json", - "proof": "IR/schema/static checks plus generated command package freshness check; no Bash runtime handoff required for this lane.", - "depends_on": [], - "parallel_with": [] - }, - { - "id": "bash-generated-fixture", - "title": "Generated Bash fixture package", - "readiness": "deferred", - "outcome": "Generated Bash outputs exist under the declared shell target root with no-direct-edit sentinels and freshness checks.", - "owner_surface": "scripts/generate/generate_command_packages.py and generated/shell/bash", - "proof": "Generated package freshness check plus static package proof verifies Bash files are rendered from IR.", - "depends_on": [ - "bash-parser-help-boundary" - ], - "parallel_with": [] - }, - { - "id": "bash-runtime-handoff-conformance", - "title": "Bash black-box runtime handoff conformance", - "readiness": "deferred", - "outcome": "Generated Bash wrapper delegates supported commands to fixture runtime processes, preserves spaced argv values, and reports unsupported commands with recovery guidance.", - "owner_surface": "scripts/check/check_generated_command_packages.py", - "proof": "Docker-selected Bash conformance lane modeled after generated TypeScript adapter conformance.", - "depends_on": [ - "bash-generated-fixture" - ], - "parallel_with": [] - }, - { - "id": "bash-maturity-promotion", - "title": "Bash maturity promotion gate", - "readiness": "deferred", - "outcome": "Bash target moves from deferred only when generated freshness, Docker proof, runtime handoff conformance, and weak-agent routing constraints are explicit.", - "owner_surface": "src/agentic_workspace/contracts/command_package_ir.json", - "proof": "Generated package static proof rejects maturity drift and weak-agent routing before the Bash target is promoted.", - "depends_on": [ - "bash-runtime-handoff-conformance" - ], - "parallel_with": [] - } - ], - "dependency_assumptions": [ - "Issue #909 selected Bash as the first additional generated command transport candidate.", - "Bash work starts from command-package IR and existing generated TypeScript package conformance rather than Python CLI source.", - "Docker is acceptable for generated shell proof, but ordinary Python development must not require shell-specific tooling." - ], - "parallelization_assumptions": [ - "Renderer/static-fixture work can be delegated after the parser/help boundary is explicit.", - "Runtime handoff conformance should wait for generated fixture output so proof does not codify a hand-authored shell script." - ], - "proof_expectations": [ - "uv run python scripts/check/check_generated_command_packages.py", - "uv run python scripts/check/check_generated_command_packages.py --docker --require-docker", - "uv run python scripts/check/check_generated_command_packages.py --docker-conformance --require-docker", - "uv run python scripts/generate/generate_command_packages.py --check", - "uv run python scripts/check/check_contract_tooling_surfaces.py --quiet-success" - ], - "promotion_rule": "Promote only one Bash lane at a time, starting with parser/help projection. Do not promote runtime handoff or maturity until generated Bash output exists and Docker proof is explicit.", - "references": [ - { - "kind": "github_issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/912", - "label": "#912", - "role": "epic" - }, - { - "kind": "github_issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/909", - "label": "#909", - "role": "first transport evaluation" - }, - { - "kind": "review", - "target": "docs/reviews/shell-adapter-feasibility-2026-04-27.md", - "label": "Shell Adapter Feasibility", - "role": "boundary evidence" - } - ], - "notes": "Closed out of current scope on 2026-05-12 after #892 was reframed to Python-only until generated Python CLI completion actually removes package-specific executable cli.py front doors outside generated/python. Re-promote only after Python is complete and a new shell transport lane is explicitly selected." -} diff --git a/.agentic-workspace/planning/decompositions/github-1124-long-horizon-evaluation.decomposition.json b/.agentic-workspace/planning/decompositions/github-1124-long-horizon-evaluation.decomposition.json deleted file mode 100644 index 32d53661..00000000 --- a/.agentic-workspace/planning/decompositions/github-1124-long-horizon-evaluation.decomposition.json +++ /dev/null @@ -1,251 +0,0 @@ -{ - "kind": "planning-decomposition/v1", - "title": "Long-horizon repo episode evaluation", - "status": "ready-for-lane-promotion", - "larger_intended_outcome": "Evaluate whether Agentic Workspace improves real project continuity across interruptions, restarts, handoffs, agent switches, proof ambiguity, ownership traps, and closeout boundaries by extending the existing model CLI harness into a small long-horizon episode layer.", - "non_goals": [ - "Do not turn AW into a generic benchmark platform or leaderboard.", - "Do not run arbitrary live GitHub issues as benchmarks.", - "Do not make long-horizon episodes part of ordinary unit or CI tests.", - "Do not build a broad benchmark DSL before a few hand-authored episodes prove the shape.", - "Do not require fully automatic evaluator-only claims; human review remains valid when engineering judgment is needed.", - "Do not create episodes that require credentials, secrets, live external services, or long dependency setup." - ], - "candidate_lanes": [ - { - "id": "long-horizon-episode-schema", - "title": "Define episode and evaluation schemas", - "readiness": "ready", - "outcome": "Draft hand-authorable `long-horizon-episode/v1` and `long-horizon-evaluation/v1` schemas, plus at least one sample episode and sample evaluator result that validate against the new checks.", - "owner_surface": "tools/model-cli-harness/schemas/, tools/model-cli-harness/episodes/, scripts/model_cli_harness/, and tests/test_model_cli_harness.py", - "proof": "Focused schema tests validate one sample episode and one sample evaluator result while existing Tier 1 suite rendering still passes.", - "depends_on": [], - "parallel_with": [ - "pinned-episode-candidate-curation" - ] - }, - { - "id": "pinned-episode-candidate-curation", - "title": "Curate first pinned real-repo episode candidates", - "readiness": "ready", - "outcome": "Confirm license, setup, base commit, visible validation, hidden/reference oracle, known traps, expected AW affordances, and baseline/AW fixture strategy for at least three first-pack episodes.", - "owner_surface": "tools/model-cli-harness/episodes/, docs/maintainer/model-cli-dogfooding-harness.md, and candidate episode metadata", - "proof": "Reviewable candidate records cover at least one intent-proof episode, one abstraction/reuse episode, and one restart or agent-switch-capable episode, with unsuitable repos rejected or deferred explicitly.", - "depends_on": [], - "parallel_with": [ - "long-horizon-episode-schema" - ] - }, - { - "id": "phase-runner-checkpoints", - "title": "Add phase runner and restart checkpoints", - "readiness": "ready", - "outcome": "A long-horizon episode runner can execute multiple phases against the same copied repo, capture checkpoint evidence after each phase, and hide prior transcript from resume phases when configured.", - "owner_surface": "scripts/model_cli_harness/long_horizon_episode.py or equivalent thin episode layer, scripts/model_cli_harness/run_model_cli_harness.py helpers, and tests", - "proof": "Dry-run and fake-adapter executed tests prove phase 2 sees phase 1 repo mutations, hidden-transcript resume omits prior chat, checkpoints capture diffs/transcripts/validation output, and existing single-scenario runs still work.", - "depends_on": [ - "long-horizon-episode-schema" - ], - "parallel_with": [] - }, - { - "id": "agent-switch-variants", - "title": "Support same-agent and switched-agent variants", - "readiness": "ready", - "outcome": "Episode phases can select distinct adapters/models so the runner can compare baseline restart, AW-assisted restart, same-agent continuation, agent-switch continuation, and strong-to-weak continuation without provider-specific coupling.", - "owner_surface": "long-horizon episode runner, adapter rendering, run.json phase result shape, and tests", - "proof": "Dry-run output renders distinct phase commands with distinct adapters/models, and an executed fake-adapter test proves phase 2 uses the requested different adapter/model while preserving provider state isolation boundaries.", - "depends_on": [ - "phase-runner-checkpoints" - ], - "parallel_with": [ - "evaluator-evidence-bundle" - ] - }, - { - "id": "evaluator-evidence-bundle", - "title": "Add evaluator-agent structured review pass", - "readiness": "ready", - "outcome": "The runner can invoke a separate evaluator adapter with a controlled evidence bundle and capture structured `long-horizon-evaluation/v1` output before hidden/reference oracle comparison.", - "owner_surface": "long-horizon episode runner, evaluator prompt/evidence bundle builder, evaluator result parser, and tests", - "proof": "Fake evaluator tests prove valid structured results are accepted, invalid evaluator JSON is captured as evaluator failure, evidence cites files/diffs/commands/transcripts/AW outputs, and hidden oracle material is excluded until after primary scoring.", - "depends_on": [ - "long-horizon-episode-schema", - "phase-runner-checkpoints" - ], - "parallel_with": [ - "agent-switch-variants" - ] - }, - { - "id": "aw-on-off-fixture-pairing", - "title": "Add AW-on and AW-off episode pairing", - "readiness": "ready", - "outcome": "Episodes can run equivalent AW-assisted and baseline fixtures without contaminating baseline prompts or repo state, recording mode and comparison context in results.", - "owner_surface": "episode metadata, fixture preparation, prompt rendering, comparison result shape, and docs", - "proof": "A paired dry-run test renders AW-on and AW-off phases, baseline fixtures explicitly lack AW startup surfaces, task prompts remain equivalent except for mode setup, and result records mode without suppressing baseline contamination warnings.", - "depends_on": [ - "long-horizon-episode-schema" - ], - "parallel_with": [ - "phase-runner-checkpoints" - ] - }, - { - "id": "first-continuity-episode-pack", - "title": "Build the first credible continuity episode pack", - "readiness": "needs-shaping", - "outcome": "At least three pinned episodes exist with setup, visible validation, hidden/reference oracle or rubric, known traps, expected mistake classes, and at least one forced restart plus one agent-switch-capable variant.", - "owner_surface": "tools/model-cli-harness/episodes/, fixture preparation scripts or metadata, docs/maintainer/model-cli-dogfooding-harness.md, and tests for episode validation", - "proof": "Episode validation proves generated-surface or equivalent ownership trap, reuse/abstraction trap, and intent-proof overclaim trap are represented; at least one episode supports baseline restart vs AW-assisted restart and at least one supports same-agent vs agent-switch continuation.", - "depends_on": [ - "pinned-episode-candidate-curation", - "long-horizon-episode-schema", - "phase-runner-checkpoints", - "agent-switch-variants", - "aw-on-off-fixture-pairing" - ], - "parallel_with": [] - }, - { - "id": "comparison-reporting-and-routing", - "title": "Report mistake classes, AW effect, and follow-up routing", - "readiness": "needs-shaping", - "outcome": "Long-horizon result reports compare AW-on/AW-off and same-agent/agent-switch outcomes, summarize mistake classes, AW helped/hurt/missed affordance fields, proof/intent match, restartability, completion honesty, and recommended follow-up routing.", - "owner_surface": "long-horizon comparison report, model-task weakness ledger integration, docs, and issue/Memory/dismissal routing guidance", - "proof": "Comparison tests show retained/resolved/new mistake classes, evaluator evidence references, human-review-needed status, and follow-up routing into issue, Memory, docs, harness fix, or dismissal without creating hidden backlog.", - "depends_on": [ - "evaluator-evidence-bundle", - "first-continuity-episode-pack" - ], - "parallel_with": [] - } - ], - "dependency_assumptions": [ - "The existing model CLI harness remains Tier 1 affordance probes; long-horizon support should be a thin episode/orchestration layer over it rather than a replacement.", - "Schema and candidate curation can proceed in parallel because both are hand-authored shaping work and neither needs executable orchestration first.", - "Phase runner checkpoints are the core implementation dependency for restart, agent switch, evaluator evidence, and AW-on/AW-off comparison.", - "Evaluator scoring must happen before hidden/reference oracle comparison so the primary judgment reflects the produced repo state, transcript, proof, and AW evidence.", - "The first continuity pack should start with three episodes, not a broad benchmark set; additional repos should wait until the runner and evaluator shape are credible." - ], - "parallelization_assumptions": [ - "Episode schema and candidate curation are independent enough to promote separately.", - "Evaluator evidence-bundle work can proceed alongside agent-switch variants after checkpoint capture exists.", - "AW-on/AW-off fixture pairing can be developed alongside checkpoint mechanics if the schema lane has defined the mode fields.", - "Comparison/reporting should wait for at least one real or realistic continuity pack so report fields are evidence-driven rather than aspirational." - ], - "proof_expectations": [ - "Each promoted lane must preserve existing model CLI harness dry-run defaults, disposable fixture isolation, adapter abstraction, and structured run output.", - "Long-horizon runner tests should use fake adapters for deterministic CI coverage; real model executions remain exploratory maintainer evidence.", - "Each executable lane should prove backward compatibility for existing single-scenario harness runs.", - "Episode pack lanes must record visible validation, hidden/reference oracle boundaries, known traps, and expected mistake classes before claiming scenario readiness.", - "Evaluator and comparison lanes must distinguish engineering judgment from deterministic pass/fail and cite concrete evidence from files, diffs, commands, transcripts, or AW outputs." - ], - "promotion_rule": "Promote one bounded lane at a time when it has a clear owner surface, fake-adapter proof path, and acceptance criteria tied to #1124; do not promote broad episode-pack or reporting work before schema and checkpoint mechanics exist.", - "references": [ - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1124", - "label": "#1124", - "role": "parent epic" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1115", - "label": "#1115", - "role": "agent OS capability map" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1090", - "label": "#1090", - "role": "engineering horizon thesis" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1092", - "label": "#1092", - "role": "reuse and abstraction pressure" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1094", - "label": "#1094", - "role": "intent proof strength" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1116", - "label": "#1116", - "role": "proof confidence" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1087", - "label": "#1087", - "role": "Planning concurrency and stale state" - }, - { - "kind": "github-issue-comment", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1124#issuecomment-4533292801", - "label": "#1124 investigation comment", - "role": "harness gap and child-lane shaping" - }, - { - "kind": "github-issue-comment", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1124#issuecomment-4533374862", - "label": "#1124 candidate repo investigation", - "role": "first-pack candidate evidence" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1141", - "label": "#1141", - "role": "child lane: long-horizon-episode-schema" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1142", - "label": "#1142", - "role": "child lane: pinned-episode-candidate-curation" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1143", - "label": "#1143", - "role": "child lane: phase-runner-checkpoints" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1144", - "label": "#1144", - "role": "child lane: agent-switch-variants" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1145", - "label": "#1145", - "role": "child lane: evaluator-evidence-bundle" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1146", - "label": "#1146", - "role": "child lane: aw-on-off-fixture-pairing" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1147", - "label": "#1147", - "role": "child lane: first-continuity-episode-pack" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1148", - "label": "#1148", - "role": "child lane: comparison-reporting-and-routing" - } - ], - "notes": "Decomposed from #1124 and its investigation comments. GitHub remains the discussion tracker; this checked-in Planning decomposition owns lane sequencing and promotion discipline." -} - diff --git a/.agentic-workspace/planning/decompositions/github-1130-assurance-requirements.decomposition.json b/.agentic-workspace/planning/decompositions/github-1130-assurance-requirements.decomposition.json deleted file mode 100644 index d9188aa8..00000000 --- a/.agentic-workspace/planning/decompositions/github-1130-assurance-requirements.decomposition.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "kind": "planning-decomposition/v1", - "title": "Repo-defined assurance requirements and evidence gates", - "status": "ready-for-lane-promotion", - "larger_intended_outcome": "Let host repos declare domain-generic assurance requirements, authority refs, evidence expectations, proof/review obligations, and completion claim boundaries without creating a parallel compliance subsystem.", - "non_goals": [ - "Do not make AW understand legal, regulatory, privacy, security, accessibility, financial, medical, or other domain compliance semantics.", - "Do not create a separate compliance workflow engine.", - "Do not make low-assurance direct work pay high-assurance ceremony when no requirement matches." - ], - "candidate_lanes": [ - { - "id": "github-1131-model-investigation", - "title": "Map existing assurance building blocks into one evidence-gate model", - "readiness": "promoted", - "outcome": "A compact design investigation identifies the v1 model, evidence ownership, surface integration, closeout behavior, proportionality guardrails, and follow-up implementation slices.", - "owner_surface": ".agentic-workspace/planning/execplans/github-1131-assurance-evidence-gate-investigation.plan.json", - "proof": "Review artifact answers #1131 acceptance questions and planning doctor validates the active plan.", - "depends_on": [], - "parallel_with": [] - }, - { - "id": "assurance-requirement-fact-model", - "title": "Add minimal assurance requirement config and report projection", - "readiness": "promoted", - "outcome": "Config/schema accepts a minimal [assurance.requirements.] shape, including explicit waiver/dismissal facts, and config/report output projects configured requirements for agents to inspect.", - "owner_surface": "src/agentic_workspace/config.py and workspace config schema", - "proof": "Focused config/report tests cover valid requirement, invalid force/level/blocking_claims fields, missing activation signal, waiver/dismissal shape, configured requirement projection, and unchanged low-assurance config.", - "depends_on": [ - "github-1131-model-investigation" - ], - "parallel_with": [] - }, - { - "id": "assurance-requirement-projection", - "title": "Project applicable assurance requirements", - "readiness": "promoted", - "outcome": "start, implement, and report expose matched requirements from changed paths, task markers, proof profiles, active Planning, and configured refs while unrelated small work stays quiet.", - "owner_surface": "src/agentic_workspace/workspace_runtime_primitives.py and report/start/implement tests", - "proof": "Fixtures cover high-assurance path/task matches and a tiny unrelated edit with no ceremony.", - "depends_on": [ - "assurance-requirement-fact-model" - ], - "parallel_with": [] - }, - { - "id": "assurance-evidence-closeout-gates", - "title": "Integrate evidence status with closeout and completion options", - "readiness": "promoted", - "outcome": "closeout_trust and completion options distinguish proof passed from required assurance evidence satisfied, blocking broad claims when required evidence is missing.", - "owner_surface": "closeout_trust and completion option payloads", - "proof": "Focused tests show missing evidence blocks claim-work-complete and close-parent-lane, while honest stop/status and review routes remain available.", - "depends_on": [ - "assurance-requirement-projection" - ], - "parallel_with": [] - }, - { - "id": "assurance-proof-profile-integration", - "title": "Wire requirement-linked proof profiles into proof output", - "readiness": "promoted", - "outcome": "proof selects requirement-linked proof profile commands, review aids, blocked commands, and residual evidence gaps without replacing agent judgment.", - "owner_surface": "proof selection and active planning assurance payloads", - "proof": "Proof tests cover configured proof profile selection, missing configured profile, review aids, and host-policy blocked commands.", - "depends_on": [ - "assurance-requirement-projection" - ], - "parallel_with": [ - "assurance-evidence-closeout-gates" - ] - }, - { - "id": "assurance-dogfood-fixtures", - "title": "Add high-assurance and non-code dogfood fixtures", - "readiness": "promoted", - "outcome": "A host fixture proves code and non-code assurance requirements, evidence recording, claim gates, and proportionality for unrelated work.", - "owner_surface": "tests and fixture host repos", - "proof": "Fixture tests cover relevant high-assurance work, evidence recorded, unrelated quiet edit, and non-code policy/runbook surface.", - "depends_on": [ - "assurance-evidence-closeout-gates", - "assurance-proof-profile-integration" - ], - "parallel_with": [] - } - ], - "dependency_assumptions": [ - "#1131 should close before implementation lanes start so the fact model does not fork away from existing assurance/proof/Planning/closeout surfaces.", - "Closeout and proof integration should reuse active Planning assurance fields before adding any new evidence store.", - "#1132 is the first implementation child and intentionally includes a read projection so schema does not land without agent-visible behavior.", - "#1133-#1136 were created as follow-on child slices for projection, closeout gates, proof integration, and dogfood fixtures." - ], - "parallelization_assumptions": [ - "Proof profile integration can proceed alongside closeout gate design after the projection shape is stable.", - "Dogfood fixtures should wait until at least one implementation path exists so they validate real behavior rather than aspirational schema." - ], - "proof_expectations": [ - "Each promoted implementation lane must prove both a matched high-assurance case and an unrelated low-assurance quiet case.", - "Implementation lanes must show that AW remains domain-generic and only routes repo-declared authority/evidence requirements." - ], - "promotion_rule": "Promote only one implementation slice at a time after #1131 records the v1 model and the slice has a bounded owner surface, proof expectation, and proportionality check.", - "references": [ - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1130", - "label": "#1130", - "role": "parent lane" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1131", - "label": "#1131", - "role": "first promoted investigation" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1132", - "label": "#1132", - "role": "first implementation child" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1133", - "label": "#1133", - "role": "projection child" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1134", - "label": "#1134", - "role": "closeout gates child" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1135", - "label": "#1135", - "role": "proof integration child" - }, - { - "kind": "github-issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/1136", - "label": "#1136", - "role": "dogfood fixtures child" - } - ], - "notes": "Ingested from GitHub #1130 as parent lane context. The upstream issue remains a tracker reference; checked-in Planning owns execution sequencing." -} diff --git a/.agentic-workspace/planning/decompositions/powershell-generated-cli.decomposition.json b/.agentic-workspace/planning/decompositions/powershell-generated-cli.decomposition.json deleted file mode 100644 index eeb33c93..00000000 --- a/.agentic-workspace/planning/decompositions/powershell-generated-cli.decomposition.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "kind": "planning-decomposition/v1", - "title": "Generated PowerShell CLI transport epic", - "status": "closed", - "larger_intended_outcome": "Plan PowerShell as the second shell-family generated command transport after the Bash boundary and proof route establish reusable shell adapter constraints.", - "non_goals": [ - "Do not start PowerShell renderer implementation before Bash proves the shared shell-family boundary or records a blocker.", - "Do not encode PowerShell-specific command semantics outside command-package IR.", - "Do not make PowerShell an ordinary Python development dependency.", - "Do not treat PowerShell parity as exact text parity when shell-specific quoting or completion behavior requires documented differences." - ], - "candidate_lanes": [ - { - "id": "powershell-reuse-gap-audit", - "title": "PowerShell reuse and gap audit", - "readiness": "deferred", - "outcome": "Bash shell-family boundary is compared against PowerShell quoting, argument binding, completion, exit-code, and process-handoff behavior before implementation begins.", - "owner_surface": "docs/reviews/shell-adapter-feasibility-2026-04-27.md and src/agentic_workspace/contracts/command_package_ir.json", - "proof": "Review record or decomposition update names any universal IR fields needed before renderer work starts.", - "depends_on": [ - "bash-parser-help-boundary" - ], - "parallel_with": [] - }, - { - "id": "powershell-generated-fixture", - "title": "Generated PowerShell fixture package", - "readiness": "deferred", - "outcome": "Generated PowerShell outputs exist under the declared shell target root with no-direct-edit sentinels and freshness checks.", - "owner_surface": "scripts/generate/generate_command_packages.py and generated/shell/powershell", - "proof": "Generated package freshness check plus static package proof verifies PowerShell files are rendered from IR.", - "depends_on": [ - "powershell-reuse-gap-audit", - "bash-generated-fixture" - ], - "parallel_with": [] - }, - { - "id": "powershell-runtime-handoff-conformance", - "title": "PowerShell black-box runtime handoff conformance", - "readiness": "deferred", - "outcome": "Generated PowerShell wrapper delegates supported commands to fixture runtime processes, preserves spaced argv values, and reports unsupported commands with recovery guidance.", - "owner_surface": "scripts/check/check_generated_command_packages.py", - "proof": "Docker-selected PowerShell conformance lane using a PowerShell-capable container.", - "depends_on": [ - "powershell-generated-fixture", - "bash-runtime-handoff-conformance" - ], - "parallel_with": [] - }, - { - "id": "cross-shell-parity-gate", - "title": "Cross-shell parity and maturity gate", - "readiness": "deferred", - "outcome": "Bash and PowerShell expose the same generated command semantics while shell-specific behavior differences are explicit and guarded.", - "owner_surface": "src/agentic_workspace/contracts/command_package_ir.json", - "proof": "Generated package static proof and Docker conformance reject unsupported PowerShell maturity or weak-agent routing drift.", - "depends_on": [ - "powershell-runtime-handoff-conformance", - "bash-maturity-promotion" - ], - "parallel_with": [] - } - ], - "dependency_assumptions": [ - "PowerShell remains deferred until Bash proves the shell-family parser/help and runtime handoff route.", - "PowerShell must reuse command-package IR and shell-family proof concepts, adding universal fields only when Python, TypeScript, and Bash can consume them without target-specific semantics.", - "Docker proof is the preferred isolation boundary for PowerShell availability." - ], - "parallelization_assumptions": [ - "The PowerShell reuse/gap audit can happen while Bash implementation proceeds, but renderer and runtime handoff lanes should wait for Bash proof results.", - "Cross-shell parity proof should be planned after both generated fixtures exist." - ], - "proof_expectations": [ - "uv run python scripts/check/check_generated_command_packages.py", - "uv run python scripts/check/check_generated_command_packages.py --docker --require-docker", - "uv run python scripts/check/check_generated_command_packages.py --docker-conformance --require-docker", - "uv run python scripts/generate/generate_command_packages.py --check", - "uv run python scripts/check/check_contract_tooling_surfaces.py --quiet-success" - ], - "promotion_rule": "Promote only the reuse/gap audit before Bash proves the shell-family boundary. Keep implementation lanes deferred until Bash generated output and Docker conformance provide a reusable route.", - "references": [ - { - "kind": "github_issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/911", - "label": "#911", - "role": "epic" - }, - { - "kind": "github_issue", - "target": "https://github.com/rickardvh/agentic-workspace/issues/912", - "label": "#912", - "role": "dependency" - }, - { - "kind": "review", - "target": "docs/reviews/shell-adapter-feasibility-2026-04-27.md", - "label": "Shell Adapter Feasibility", - "role": "boundary evidence" - } - ], - "notes": "Closed out of current scope on 2026-05-12 after #892 was reframed to Python-only until generated Python CLI completion actually removes package-specific executable cli.py front doors outside generated/python. Re-promote only after Python is complete and a new shell transport lane is explicitly selected." -} diff --git a/.agentic-workspace/planning/state.toml b/.agentic-workspace/planning/state.toml index d7e8e239..28ec2de3 100644 --- a/.agentic-workspace/planning/state.toml +++ b/.agentic-workspace/planning/state.toml @@ -17,13 +17,4 @@ queued_items = [] [roadmap] lanes = [] -candidates = [ - { id = "github-1201-workspace-extract-command-generation-as-an-indep", maturity = "candidate", status = "next", priority = "P1", refs = "GitHub #1201", title = "[Workspace]: Extract command-generation as an independent maintainer dependency", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P1 inferred from inferred-lane.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1202-workspace-define-command-generation-public-api-a", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1202", title = "[Workspace]: Define command-generation public API and host manifest", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1203-workspace-move-generic-codegen-schemas-toward-pa", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1203", title = "[Workspace]: Move generic codegen schemas toward package ownership", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1204-workspace-add-custom-primitive-registry-and-targ", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1204", title = "[Workspace]: Add custom primitive registry and target support contract", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1205-workspace-remove-aw-specific-branches-from-comma", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1205", title = "[Workspace]: Remove AW-specific branches from command-generation renderers", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1206-workspace-add-non-aw-command-generation-fixture-", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1206", title = "[Workspace]: Add non-AW command-generation fixture package", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1207-workspace-convert-aw-generation-and-checks-to-co", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1207", title = "[Workspace]: Convert AW generation and checks to command-generation package APIs", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, - { id = "github-1208-workspace-prepare-external-command-generation-de", maturity = "candidate", status = "next", priority = "P2", refs = "GitHub #1208", title = "[Workspace]: Prepare external command-generation dependency adoption", outcome = "Route the upstream issue into a bounded Agentic Workspace slice before implementation.", reason = "Open upstream issue from refreshed external intent evidence; priority P2 inferred from inferred-slice.", promotion_signal = "Promote when this issue is selected for implementation or grouped into a bounded lane.", suggested_first_slice = "Inspect the issue body, choose the smallest workflow shape, and record exact proof before closeout." }, -] +candidates = []