@opengsd/gsd-path 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -207
- package/CHANGELOG.md +281 -0
- package/DOCS.md +13 -7
- package/FULL.md +9 -3
- package/GUIDE.md +1 -1
- package/HOOKS.md +9 -6
- package/QUICK.md +4 -1
- package/README.md +63 -11
- package/RUNTIME.md +1 -1
- package/UPDATE.md +57 -8
- package/WORKFLOW.md +22 -6
- package/package.json +9 -8
- package/scripts/_common.py +472 -19
- package/scripts/archive_milestone.py +146 -73
- package/scripts/bootstrap_repository.py +8 -5
- package/scripts/build_recovery.py +4 -1
- package/scripts/build_state.py +66 -23
- package/scripts/check_docs_audit.py +14 -3
- package/scripts/check_handoffs.py +116 -20
- package/scripts/check_task_briefs.py +60 -8
- package/scripts/check_update.py +2 -2
- package/scripts/core_hook_gate.py +10 -1
- package/scripts/core_hook_settings.py +11 -4
- package/scripts/detect_project.py +345 -15
- package/scripts/discussion_records.py +19 -13
- package/scripts/discussion_validate.py +66 -21
- package/scripts/dispatch_driver.py +111 -26
- package/scripts/git_guard.py +116 -29
- package/scripts/guard_hook.py +151 -29
- package/scripts/install.mjs +54 -38
- package/scripts/install.py +562 -41
- package/scripts/integration.py +434 -24
- package/scripts/isolation.py +1077 -28
- package/scripts/lean_verification.py +99 -19
- package/scripts/loop_run.py +20 -30
- package/scripts/members.py +704 -0
- package/scripts/migrate_core.py +2 -2
- package/scripts/path_config.py +2 -2
- package/scripts/pipeline_diagnose.py +82 -31
- package/scripts/pipeline_git.py +61 -22
- package/scripts/pipeline_state.py +176 -54
- package/scripts/pipeline_undo.py +117 -22
- package/scripts/promote_lookahead.py +1 -1
- package/scripts/review_panel.py +1 -1
- package/scripts/runtime_store.py +35 -9
- package/scripts/skill-resources.json +28 -3
- package/scripts/state_checkpoint.py +140 -31
- package/scripts/state_promote.py +2 -0
- package/scripts/status_runtime.py +36 -6
- package/scripts/sync_skill_resources.py +8 -7
- package/scripts/token_budget.py +12 -8
- package/scripts/workflow_run.py +103 -29
- package/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path/BUILD.md +7 -1
- package/skills/gsd-path/DECIDE.md +11 -4
- package/skills/gsd-path/DEFINE.md +8 -1
- package/skills/gsd-path/DOCS-AUDIT.md +6 -4
- package/skills/gsd-path/INSPECT.md +5 -4
- package/skills/gsd-path/PLAN.md +7 -1
- package/skills/gsd-path/RESEARCH.md +2 -1
- package/skills/gsd-path/ROADMAP.md +2 -1
- package/skills/gsd-path/SHIP.md +27 -10
- package/skills/gsd-path/SKILL.md +45 -1
- package/skills/gsd-path/references/build-native.md +47 -14
- package/skills/gsd-path/references/codebase-mapper.md +2 -1
- package/skills/gsd-path/references/docs-auditor.md +2 -1
- package/skills/gsd-path/references/operating-rules.md +214 -0
- package/skills/gsd-path/references/planner.md +8 -0
- package/skills/gsd-path/references/reviewer-wave.md +3 -1
- package/skills/gsd-path/scripts/__pycache__/_common.cpython-312.pyc +0 -0
- package/skills/gsd-path/scripts/__pycache__/check_handoffs.cpython-312.pyc +0 -0
- package/skills/gsd-path/scripts/_common.py +472 -19
- package/skills/gsd-path/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path/scripts/bootstrap_repository.py +8 -5
- package/skills/gsd-path/scripts/build_recovery.py +4 -1
- package/skills/gsd-path/scripts/build_state.py +66 -23
- package/skills/gsd-path/scripts/check_docs_audit.py +14 -3
- package/skills/gsd-path/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path/scripts/check_update.py +2 -2
- package/skills/gsd-path/scripts/detect_project.py +345 -15
- package/skills/gsd-path/scripts/discussion_records.py +19 -13
- package/skills/gsd-path/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path/scripts/dispatch_driver.py +111 -26
- package/skills/gsd-path/scripts/git_guard.py +116 -29
- package/skills/gsd-path/scripts/integration.py +434 -24
- package/skills/gsd-path/scripts/isolation.py +1077 -28
- package/skills/gsd-path/scripts/lean_verification.py +99 -19
- package/skills/gsd-path/scripts/loop_run.py +20 -30
- package/skills/gsd-path/scripts/members.py +704 -0
- package/skills/gsd-path/scripts/path_config.py +2 -2
- package/skills/gsd-path/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path/scripts/review_panel.py +1 -1
- package/skills/gsd-path/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path/scripts/state_promote.py +2 -0
- package/skills/gsd-path/scripts/status_runtime.py +36 -6
- package/skills/gsd-path/scripts/token_budget.py +12 -8
- package/skills/gsd-path/scripts/workflow_run.py +103 -29
- package/skills/gsd-path/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path/templates/codebase.md +1 -1
- package/skills/gsd-path/templates/docs-audit.md +1 -1
- package/skills/gsd-path/templates/final-review.md +5 -2
- package/skills/gsd-path/templates/gap-review.md +2 -1
- package/skills/gsd-path/templates/task.md +1 -0
- package/skills/gsd-path/templates/wave-review.md +3 -1
- package/skills/gsd-path-build/SKILL.md +7 -1
- package/skills/gsd-path-build/references/build-native.md +47 -14
- package/skills/gsd-path-build/references/operating-rules.md +214 -0
- package/skills/gsd-path-build/references/reviewer-wave.md +3 -1
- package/skills/gsd-path-build/scripts/__pycache__/_common.cpython-312.pyc +0 -0
- package/skills/gsd-path-build/scripts/__pycache__/check_handoffs.cpython-312.pyc +0 -0
- package/skills/gsd-path-build/scripts/_common.py +472 -19
- package/skills/gsd-path-build/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-build/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-build/scripts/build_state.py +66 -23
- package/skills/gsd-path-build/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-build/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-build/scripts/detect_project.py +345 -15
- package/skills/gsd-path-build/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-build/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-build/scripts/dispatch_driver.py +111 -26
- package/skills/gsd-path-build/scripts/integration.py +434 -24
- package/skills/gsd-path-build/scripts/isolation.py +1077 -28
- package/skills/gsd-path-build/scripts/loop_run.py +20 -30
- package/skills/gsd-path-build/scripts/members.py +704 -0
- package/skills/gsd-path-build/scripts/path_config.py +2 -2
- package/skills/gsd-path-build/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-build/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-build/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-build/scripts/review_panel.py +1 -1
- package/skills/gsd-path-build/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-build/scripts/state_promote.py +2 -0
- package/skills/gsd-path-build/scripts/token_budget.py +12 -8
- package/skills/gsd-path-build/scripts/workflow_run.py +103 -29
- package/skills/gsd-path-build/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-build/templates/task.md +1 -0
- package/skills/gsd-path-build/templates/wave-review.md +3 -1
- package/skills/gsd-path-decide/SKILL.md +11 -4
- package/skills/gsd-path-decide/references/operating-rules.md +214 -0
- package/skills/gsd-path-decide/scripts/_common.py +472 -19
- package/skills/gsd-path-decide/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-decide/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-decide/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-decide/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-decide/scripts/detect_project.py +345 -15
- package/skills/gsd-path-decide/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-decide/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-decide/scripts/integration.py +434 -24
- package/skills/gsd-path-decide/scripts/isolation.py +1077 -28
- package/skills/gsd-path-decide/scripts/loop_run.py +20 -30
- package/skills/gsd-path-decide/scripts/members.py +704 -0
- package/skills/gsd-path-decide/scripts/path_config.py +2 -2
- package/skills/gsd-path-decide/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-decide/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-decide/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-decide/scripts/review_panel.py +1 -1
- package/skills/gsd-path-decide/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-decide/scripts/state_promote.py +2 -0
- package/skills/gsd-path-decide/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-define/SKILL.md +8 -1
- package/skills/gsd-path-define/references/operating-rules.md +214 -0
- package/skills/gsd-path-define/scripts/_common.py +472 -19
- package/skills/gsd-path-define/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-define/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-define/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-define/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-define/scripts/detect_project.py +345 -15
- package/skills/gsd-path-define/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-define/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-define/scripts/integration.py +434 -24
- package/skills/gsd-path-define/scripts/isolation.py +1077 -28
- package/skills/gsd-path-define/scripts/loop_run.py +20 -30
- package/skills/gsd-path-define/scripts/members.py +704 -0
- package/skills/gsd-path-define/scripts/path_config.py +2 -2
- package/skills/gsd-path-define/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-define/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-define/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-define/scripts/review_panel.py +1 -1
- package/skills/gsd-path-define/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-define/scripts/state_promote.py +2 -0
- package/skills/gsd-path-define/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-discuss/SKILL.md +2 -1
- package/skills/gsd-path-discuss/references/operating-rules.md +214 -0
- package/skills/gsd-path-discuss/scripts/_common.py +472 -19
- package/skills/gsd-path-discuss/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-discuss/scripts/loop_run.py +20 -30
- package/skills/gsd-path-discuss/scripts/path_config.py +2 -2
- package/skills/gsd-path-discuss/scripts/review_panel.py +1 -1
- package/skills/gsd-path-discuss/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-docs-audit/SKILL.md +6 -4
- package/skills/gsd-path-docs-audit/references/docs-auditor.md +2 -1
- package/skills/gsd-path-docs-audit/references/operating-rules.md +214 -0
- package/skills/gsd-path-docs-audit/scripts/_common.py +472 -19
- package/skills/gsd-path-docs-audit/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-docs-audit/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-docs-audit/scripts/check_docs_audit.py +14 -3
- package/skills/gsd-path-docs-audit/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-docs-audit/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-docs-audit/scripts/detect_project.py +345 -15
- package/skills/gsd-path-docs-audit/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-docs-audit/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-docs-audit/scripts/integration.py +434 -24
- package/skills/gsd-path-docs-audit/scripts/isolation.py +1077 -28
- package/skills/gsd-path-docs-audit/scripts/loop_run.py +20 -30
- package/skills/gsd-path-docs-audit/scripts/members.py +704 -0
- package/skills/gsd-path-docs-audit/scripts/path_config.py +2 -2
- package/skills/gsd-path-docs-audit/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-docs-audit/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-docs-audit/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-docs-audit/scripts/review_panel.py +1 -1
- package/skills/gsd-path-docs-audit/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-docs-audit/scripts/state_promote.py +2 -0
- package/skills/gsd-path-docs-audit/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-docs-audit/templates/docs-audit.md +1 -1
- package/skills/gsd-path-forensics/SKILL.md +2 -1
- package/skills/gsd-path-forensics/references/operating-rules.md +214 -0
- package/skills/gsd-path-forensics/scripts/_common.py +472 -19
- package/skills/gsd-path-forensics/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-forensics/scripts/loop_run.py +20 -30
- package/skills/gsd-path-forensics/scripts/path_config.py +2 -2
- package/skills/gsd-path-forensics/scripts/pipeline_diagnose.py +82 -31
- package/skills/gsd-path-forensics/scripts/pipeline_undo.py +117 -22
- package/skills/gsd-path-forensics/scripts/review_panel.py +1 -1
- package/skills/gsd-path-forensics/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-inspect/SKILL.md +5 -4
- package/skills/gsd-path-inspect/references/codebase-mapper.md +2 -1
- package/skills/gsd-path-inspect/references/docs-auditor.md +2 -1
- package/skills/gsd-path-inspect/references/operating-rules.md +214 -0
- package/skills/gsd-path-inspect/scripts/__pycache__/_common.cpython-312.pyc +0 -0
- package/skills/gsd-path-inspect/scripts/_common.py +472 -19
- package/skills/gsd-path-inspect/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-inspect/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-inspect/scripts/check_docs_audit.py +14 -3
- package/skills/gsd-path-inspect/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-inspect/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-inspect/scripts/detect_project.py +345 -15
- package/skills/gsd-path-inspect/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-inspect/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-inspect/scripts/integration.py +434 -24
- package/skills/gsd-path-inspect/scripts/isolation.py +1077 -28
- package/skills/gsd-path-inspect/scripts/loop_run.py +20 -30
- package/skills/gsd-path-inspect/scripts/members.py +704 -0
- package/skills/gsd-path-inspect/scripts/path_config.py +2 -2
- package/skills/gsd-path-inspect/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-inspect/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-inspect/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-inspect/scripts/review_panel.py +1 -1
- package/skills/gsd-path-inspect/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-inspect/scripts/state_promote.py +2 -0
- package/skills/gsd-path-inspect/scripts/workflow_run.py +103 -29
- package/skills/gsd-path-inspect/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-inspect/templates/codebase.md +1 -1
- package/skills/gsd-path-inspect/templates/docs-audit.md +1 -1
- package/skills/gsd-path-loop/SKILL.md +2 -1
- package/skills/gsd-path-loop/references/operating-rules.md +214 -0
- package/skills/gsd-path-loop/scripts/_common.py +472 -19
- package/skills/gsd-path-loop/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-loop/scripts/loop_run.py +20 -30
- package/skills/gsd-path-loop/scripts/path_config.py +2 -2
- package/skills/gsd-path-loop/scripts/review_panel.py +1 -1
- package/skills/gsd-path-loop/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-migrate/SKILL.md +2 -1
- package/skills/gsd-path-migrate/references/operating-rules.md +214 -0
- package/skills/gsd-path-migrate/scripts/_common.py +472 -19
- package/skills/gsd-path-migrate/scripts/core_hook_gate.py +10 -1
- package/skills/gsd-path-migrate/scripts/core_hook_settings.py +11 -4
- package/skills/gsd-path-migrate/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-migrate/scripts/loop_run.py +20 -30
- package/skills/gsd-path-migrate/scripts/migrate_core.py +2 -2
- package/skills/gsd-path-migrate/scripts/path_config.py +2 -2
- package/skills/gsd-path-migrate/scripts/review_panel.py +1 -1
- package/skills/gsd-path-plan/SKILL.md +7 -1
- package/skills/gsd-path-plan/references/operating-rules.md +214 -0
- package/skills/gsd-path-plan/references/planner.md +8 -0
- package/skills/gsd-path-plan/scripts/__pycache__/_common.cpython-312.pyc +0 -0
- package/skills/gsd-path-plan/scripts/_common.py +472 -19
- package/skills/gsd-path-plan/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-plan/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-plan/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-plan/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-plan/scripts/detect_project.py +345 -15
- package/skills/gsd-path-plan/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-plan/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-plan/scripts/integration.py +434 -24
- package/skills/gsd-path-plan/scripts/isolation.py +1077 -28
- package/skills/gsd-path-plan/scripts/loop_run.py +20 -30
- package/skills/gsd-path-plan/scripts/members.py +704 -0
- package/skills/gsd-path-plan/scripts/path_config.py +2 -2
- package/skills/gsd-path-plan/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-plan/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-plan/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-plan/scripts/review_panel.py +1 -1
- package/skills/gsd-path-plan/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-plan/scripts/state_promote.py +2 -0
- package/skills/gsd-path-plan/scripts/workflow_run.py +103 -29
- package/skills/gsd-path-plan/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-plan/templates/task.md +1 -0
- package/skills/gsd-path-research/SKILL.md +2 -1
- package/skills/gsd-path-research/references/operating-rules.md +214 -0
- package/skills/gsd-path-research/scripts/_common.py +472 -19
- package/skills/gsd-path-research/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-research/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-research/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-research/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-research/scripts/detect_project.py +345 -15
- package/skills/gsd-path-research/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-research/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-research/scripts/integration.py +434 -24
- package/skills/gsd-path-research/scripts/isolation.py +1077 -28
- package/skills/gsd-path-research/scripts/loop_run.py +20 -30
- package/skills/gsd-path-research/scripts/members.py +704 -0
- package/skills/gsd-path-research/scripts/path_config.py +2 -2
- package/skills/gsd-path-research/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-research/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-research/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-research/scripts/review_panel.py +1 -1
- package/skills/gsd-path-research/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-research/scripts/state_promote.py +2 -0
- package/skills/gsd-path-research/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-roadmap/SKILL.md +2 -1
- package/skills/gsd-path-roadmap/references/operating-rules.md +214 -0
- package/skills/gsd-path-roadmap/scripts/_common.py +472 -19
- package/skills/gsd-path-roadmap/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-roadmap/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-roadmap/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-roadmap/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-roadmap/scripts/detect_project.py +345 -15
- package/skills/gsd-path-roadmap/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-roadmap/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-roadmap/scripts/integration.py +434 -24
- package/skills/gsd-path-roadmap/scripts/isolation.py +1077 -28
- package/skills/gsd-path-roadmap/scripts/loop_run.py +20 -30
- package/skills/gsd-path-roadmap/scripts/members.py +704 -0
- package/skills/gsd-path-roadmap/scripts/path_config.py +2 -2
- package/skills/gsd-path-roadmap/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-roadmap/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-roadmap/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-roadmap/scripts/review_panel.py +1 -1
- package/skills/gsd-path-roadmap/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-roadmap/scripts/state_promote.py +2 -0
- package/skills/gsd-path-roadmap/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-ship/SKILL.md +27 -10
- package/skills/gsd-path-ship/references/operating-rules.md +214 -0
- package/skills/gsd-path-ship/references/reviewer-wave.md +3 -1
- package/skills/gsd-path-ship/scripts/__pycache__/_common.cpython-312.pyc +0 -0
- package/skills/gsd-path-ship/scripts/_common.py +472 -19
- package/skills/gsd-path-ship/scripts/archive_milestone.py +146 -73
- package/skills/gsd-path-ship/scripts/build_recovery.py +4 -1
- package/skills/gsd-path-ship/scripts/build_state.py +66 -23
- package/skills/gsd-path-ship/scripts/check_handoffs.py +116 -20
- package/skills/gsd-path-ship/scripts/check_task_briefs.py +60 -8
- package/skills/gsd-path-ship/scripts/detect_project.py +345 -15
- package/skills/gsd-path-ship/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-ship/scripts/discussion_validate.py +66 -21
- package/skills/gsd-path-ship/scripts/integration.py +434 -24
- package/skills/gsd-path-ship/scripts/isolation.py +1077 -28
- package/skills/gsd-path-ship/scripts/lean_verification.py +99 -19
- package/skills/gsd-path-ship/scripts/loop_run.py +20 -30
- package/skills/gsd-path-ship/scripts/members.py +704 -0
- package/skills/gsd-path-ship/scripts/path_config.py +2 -2
- package/skills/gsd-path-ship/scripts/pipeline_git.py +61 -22
- package/skills/gsd-path-ship/scripts/pipeline_state.py +176 -54
- package/skills/gsd-path-ship/scripts/promote_lookahead.py +1 -1
- package/skills/gsd-path-ship/scripts/review_panel.py +1 -1
- package/skills/gsd-path-ship/scripts/state_checkpoint.py +140 -31
- package/skills/gsd-path-ship/scripts/state_promote.py +2 -0
- package/skills/gsd-path-ship/scripts/workflow_run.py +103 -29
- package/skills/gsd-path-ship/scripts/worktree_paths.py +18 -8
- package/skills/gsd-path-ship/templates/final-review.md +5 -2
- package/skills/gsd-path-ship/templates/gap-review.md +2 -1
- package/skills/gsd-path-ship/templates/wave-review.md +3 -1
- package/skills/gsd-path-undo/SKILL.md +2 -1
- package/skills/gsd-path-undo/references/operating-rules.md +214 -0
- package/skills/gsd-path-undo/scripts/_common.py +472 -19
- package/skills/gsd-path-undo/scripts/discussion_records.py +19 -13
- package/skills/gsd-path-undo/scripts/loop_run.py +20 -30
- package/skills/gsd-path-undo/scripts/path_config.py +2 -2
- package/skills/gsd-path-undo/scripts/pipeline_undo.py +117 -22
- package/skills/gsd-path-undo/scripts/review_panel.py +1 -1
- package/skills/gsd-path-undo/scripts/worktree_paths.py +18 -8
- package/skills/path/BUILD.md +7 -1
- package/skills/path/DECIDE.md +11 -4
- package/skills/path/DEFINE.md +8 -1
- package/skills/path/DOCS-AUDIT.md +6 -4
- package/skills/path/INSPECT.md +5 -4
- package/skills/path/PLAN.md +7 -1
- package/skills/path/RESEARCH.md +2 -1
- package/skills/path/ROADMAP.md +2 -1
- package/skills/path/SHIP.md +27 -10
- package/skills/path/SKILL.md +45 -1
- package/skills/path/references/build-native.md +47 -14
- package/skills/path/references/codebase-mapper.md +2 -1
- package/skills/path/references/docs-auditor.md +2 -1
- package/skills/path/references/operating-rules.md +214 -0
- package/skills/path/references/planner.md +8 -0
- package/skills/path/references/reviewer-wave.md +3 -1
- package/skills/path/scripts/_common.py +472 -19
- package/skills/path/scripts/archive_milestone.py +146 -73
- package/skills/path/scripts/bootstrap_repository.py +8 -5
- package/skills/path/scripts/build_recovery.py +4 -1
- package/skills/path/scripts/build_state.py +66 -23
- package/skills/path/scripts/check_docs_audit.py +14 -3
- package/skills/path/scripts/check_handoffs.py +116 -20
- package/skills/path/scripts/check_task_briefs.py +60 -8
- package/skills/path/scripts/check_update.py +2 -2
- package/skills/path/scripts/detect_project.py +345 -15
- package/skills/path/scripts/discussion_records.py +19 -13
- package/skills/path/scripts/discussion_validate.py +66 -21
- package/skills/path/scripts/dispatch_driver.py +111 -26
- package/skills/path/scripts/git_guard.py +116 -29
- package/skills/path/scripts/integration.py +434 -24
- package/skills/path/scripts/isolation.py +1077 -28
- package/skills/path/scripts/lean_verification.py +99 -19
- package/skills/path/scripts/loop_run.py +20 -30
- package/skills/path/scripts/members.py +704 -0
- package/skills/path/scripts/path_config.py +2 -2
- package/skills/path/scripts/pipeline_git.py +61 -22
- package/skills/path/scripts/pipeline_state.py +176 -54
- package/skills/path/scripts/promote_lookahead.py +1 -1
- package/skills/path/scripts/review_panel.py +1 -1
- package/skills/path/scripts/state_checkpoint.py +140 -31
- package/skills/path/scripts/state_promote.py +2 -0
- package/skills/path/scripts/status_runtime.py +36 -6
- package/skills/path/scripts/token_budget.py +12 -8
- package/skills/path/scripts/workflow_run.py +103 -29
- package/skills/path/scripts/worktree_paths.py +18 -8
- package/skills/path/templates/codebase.md +1 -1
- package/skills/path/templates/docs-audit.md +1 -1
- package/skills/path/templates/final-review.md +5 -2
- package/skills/path/templates/gap-review.md +2 -1
- package/skills/path/templates/task.md +1 -0
- package/skills/path/templates/wave-review.md +3 -1
package/AGENTS.md
CHANGED
|
@@ -43,13 +43,6 @@ full-repo suite on a tiny edit outrank the phase brief.
|
|
|
43
43
|
|
|
44
44
|
- Start from disk, not conversation. If an input is absent from `.project/`,
|
|
45
45
|
report it instead of inventing it.
|
|
46
|
-
- `.project/discuss/DIALOGUE.md` and `.project/discuss/ANSWERS.md` are the
|
|
47
|
-
append-only memory for any-phase discussion. Read them before continuing an
|
|
48
|
-
existing thread; never treat chat history alone as durable context.
|
|
49
|
-
- The discussion skill never commits. Every phase orchestrator treats only
|
|
50
|
-
complete append-only discussion records as expected bookkeeping and includes
|
|
51
|
-
them in its next normal `.project/` checkpoint; build does so before its next
|
|
52
|
-
clean layer base, and ship includes them in its transaction.
|
|
53
46
|
- A discussion answer with `Status: final` or `NEEDS-USER`, `Follow-up:
|
|
54
47
|
required`, and no later `Disposition X###` receipt is pending. Before phase
|
|
55
48
|
work and again before a phase gate, the router and current phase run the
|
|
@@ -64,43 +57,6 @@ full-repo suite on a tiny edit outrank the phase brief.
|
|
|
64
57
|
current phase with links to ANSWERS.md and the target artifact and ask the
|
|
65
58
|
user; never auto-advance or archive it. Only the user may authorize
|
|
66
59
|
`rejected-by-user`.
|
|
67
|
-
- Write every output to the handoff path in WORKFLOW.md, using the absolute
|
|
68
|
-
bundled template path supplied by the active phase skill. An output that
|
|
69
|
-
needs verbal explanation is defective.
|
|
70
|
-
- With no `.project/STATE.md`, route through the bundled
|
|
71
|
-
`scripts/detect_project.py initialize --repo <absolute-root> --template
|
|
72
|
-
<absolute-state-template> --require-git` helper; `route: setup-repository`
|
|
73
|
-
leaves the invocation folder unchanged and routes to repository setup before
|
|
74
|
-
state creation or branch binding. Never delete the invocation folder or its
|
|
75
|
-
state to satisfy bootstrap path checks. Do not classify from a directory listing
|
|
76
|
-
or conversation. Follow its JSON `verdict` and `route`. Reserve `classify`
|
|
77
|
-
for read-only inspection; do not use it as a state-initialization preflight.
|
|
78
|
-
- `.project/STATE.md` tracks phase position. Parse and validate it only with
|
|
79
|
-
the bundled `scripts/pipeline_state.py validate` command, route with its
|
|
80
|
-
`route` command, and make ordinary phase transitions only with its
|
|
81
|
-
expected-state `transition`. A journaled transaction helper may write only
|
|
82
|
-
the state fields its contract explicitly owns. Never reproduce these
|
|
83
|
-
deterministic operations in model reasoning. The
|
|
84
|
-
orchestrator alone owns task frontmatter base, isolated worktree/branch,
|
|
85
|
-
status, and agent; the landing commit is proven from git by `isolation.py
|
|
86
|
-
recover`, never recorded. Require `pipeline: gsd-path/v2`; never
|
|
87
|
-
consume an ambiguous or differently owned state file. Artifacts outrank
|
|
88
|
-
summaries; reconcile STATE.md when it disagrees with task frontmatter.
|
|
89
|
-
During a program build, `.project/next/STATE.md` may hold
|
|
90
|
-
the lookahead planning track for the next milestone; it follows the same
|
|
91
|
-
marker rule, owns no task frontmatter, and never binds a branch.
|
|
92
|
-
- STATE.integration_default is the project closeout choice and
|
|
93
|
-
STATE.integration is the current milestone choice. Both are `direct` or
|
|
94
|
-
`pull-request`; STATE.integration_source is `default` or `milestone` and
|
|
95
|
-
preserves explicit override provenance. Older v2 state defaults to `direct`,
|
|
96
|
-
and modes may be changed only through `pipeline_state.py
|
|
97
|
-
configure-integration` before build. A next milestone resets its current
|
|
98
|
-
choice from the project default.
|
|
99
|
-
- Spawned agents have isolated context. Follow the installed runtime dispatch
|
|
100
|
-
contract and brief them with exact input and output paths, constraints, a
|
|
101
|
-
deterministic logical task name, and a bounded responsibility. Independent
|
|
102
|
-
briefs may run in parallel up to available child capacity; a dependent
|
|
103
|
-
brief runs as soon as its dependencies complete.
|
|
104
60
|
- After a phase completes its gate and state update, run the bundled
|
|
105
61
|
`pipeline_state.py status --repo <absolute-root>` with the routed
|
|
106
62
|
`--project-dir`. Its `handoff` is the shared phase handoff for chat and the
|
|
@@ -114,6 +70,8 @@ full-repo suite on a tiny edit outrank the phase brief.
|
|
|
114
70
|
a route is not approval. Return to an active caller instead of invoking an
|
|
115
71
|
explicit-only sibling skill. Derive the next phase from this result, not
|
|
116
72
|
from another lane table in prose.
|
|
73
|
+
- Phase skills bundle the remaining rules in `references/operating-rules.md`;
|
|
74
|
+
read it before phase work.
|
|
117
75
|
|
|
118
76
|
## Plain-prompt re-entry
|
|
119
77
|
|
|
@@ -154,139 +112,6 @@ full-repo suite on a tiny edit outrank the phase brief.
|
|
|
154
112
|
Questions never silently disappear between phases.
|
|
155
113
|
- Record user corrections and vetoes verbatim.
|
|
156
114
|
|
|
157
|
-
## Stay in role
|
|
158
|
-
|
|
159
|
-
- The codebase mapper and docs auditor observe and verify; they are strictly
|
|
160
|
-
read-only, report observations rather than judgments, and never resolve a
|
|
161
|
-
doc-vs-code conflict — that ruling belongs to the user.
|
|
162
|
-
- Build, test, lint, and help commands are not presumed read-safe. Read-only
|
|
163
|
-
roles run project commands only in orchestrator-created disposable worktrees
|
|
164
|
-
at a recorded revision; otherwise they use static evidence or mark the check
|
|
165
|
-
unverifiable. They never create worktrees or run commands in the source tree.
|
|
166
|
-
- Researchers gather evidence; they do not decide. A dimension is researched
|
|
167
|
-
only when it has open questions; the research phase records dispatched and
|
|
168
|
-
skipped dimensions. Brownfield adds `evidence-codebase.md` as settled input.
|
|
169
|
-
- The decider works from existing evidence; it does not re-research. An
|
|
170
|
-
unresolved or uncited required decision fails the synthesis gate.
|
|
171
|
-
- The planner reads both INTENT.md and SYNTHESIS.md and specs
|
|
172
|
-
deliverable-sized outcomes and constraints; every INTENT success criterion
|
|
173
|
-
maps to a task AC and Verify in PLAN.md Intent coverage. Coders own
|
|
174
|
-
implementation decisions inside those bounds.
|
|
175
|
-
- Coders implement only their full task contract, including owned INTENT
|
|
176
|
-
success criteria read from INTENT.md, and append their result to the
|
|
177
|
-
task Log. They never change task state, review acceptance, stage, commit, or
|
|
178
|
-
freelance outside declared files.
|
|
179
|
-
- The orchestrator dispatches, arbitrates, and creates task isolation and
|
|
180
|
-
verify sidecars through the bundled `scripts/isolation.py` helper — named
|
|
181
|
-
branches only, never a detached HEAD — lands task work serially, and
|
|
182
|
-
records each clean base in task frontmatter; `land` stamps the landed
|
|
183
|
-
state into the task's own commit, so a task has exactly one commit. It
|
|
184
|
-
writes no product code. When a done task's work already sits on the bound
|
|
185
|
-
branch without a landing commit, only an explicit owner ruling through
|
|
186
|
-
`isolation.py attest` may stand in for it: one `.project/`-only commit that
|
|
187
|
-
names the base, the attested HEAD, the declared files that changed, the
|
|
188
|
-
task Verify recorded as passing at that HEAD, and the ruling verbatim.
|
|
189
|
-
`recover` reports it as `attested`, never as a proven landing.
|
|
190
|
-
- All pipeline work for a milestone lives on `gsd-path/M00N` (M001, M002,
|
|
191
|
-
…) bound in STATE.branch. The next milestone binds a new unused
|
|
192
|
-
`gsd-path/M00N` at the remote default after the previous ship integrates.
|
|
193
|
-
Integration at ship is the only path from the bound branch to the default
|
|
194
|
-
branch — either Path's direct merge or a Path-owned PR merged by the user.
|
|
195
|
-
The bound branch never receives merges or back-merges and is never the
|
|
196
|
-
GitHub default.
|
|
197
|
-
- After initialization writes STATE.md, and before entering the first pipeline
|
|
198
|
-
phase in an existing Git repository, the router calls
|
|
199
|
-
`scripts/pipeline_git.py bind-initial` with the selected M00N and exact
|
|
200
|
-
fetched `origin/main` SHA. The helper alone checks worktree identity and
|
|
201
|
-
cleanliness, exact base, and every local, remote, and other-worktree
|
|
202
|
-
collision before creating or adopting the branch. The sole cleanliness
|
|
203
|
-
exception is untracked `.project/STATE.md`: validated v2 state in active
|
|
204
|
-
inspect or define, with null milestone, branch, and archive, in a real
|
|
205
|
-
directory containing only that regular file with no hard links. The helper
|
|
206
|
-
checks its identity and bytes across binding. Do not commit initialization
|
|
207
|
-
before binding. The router persists its
|
|
208
|
-
typed result in the new state. Build has no branch-creation authority.
|
|
209
|
-
- After `validate-integrated` passes and before any next-milestone file
|
|
210
|
-
changes, the router calls the bundled `scripts/pipeline_git.py bind-next`
|
|
211
|
-
helper with the previous bound branch, exact ship SHA, and exact current
|
|
212
|
-
`origin/main` SHA. The helper moves the clean primary worktree to the new
|
|
213
|
-
unused `gsd-path/M00N` branch at that SHA without moving the previous
|
|
214
|
-
branch or entering the default checkout, then retires the integrated
|
|
215
|
-
previous branch — deleted locally and on origin; the ship commit stays
|
|
216
|
-
reachable from the integration merge and its annotated tag. The router
|
|
217
|
-
persists the new branch in STATE; a wrong-SHA or colliding branch blocks.
|
|
218
|
-
After validated PR integration, `bind-next --allow-missing-previous` may
|
|
219
|
-
retire only the local previous branch when GitHub already auto-deleted its
|
|
220
|
-
remote branch.
|
|
221
|
-
`bind-initial`, this handoff, and the approved new-repository bootstrap are
|
|
222
|
-
the only bound-branch creation authorities, and the handoff's retirement
|
|
223
|
-
push is the router's only bound-branch deletion authority. When a lookahead
|
|
224
|
-
track exists, the router then calls `scripts/pipeline_state.py promote-next`;
|
|
225
|
-
only that journaled helper moves the track, updates state and roadmap,
|
|
226
|
-
classifies plan drift, and writes the router promotion commit.
|
|
227
|
-
- Build adopts the branch recorded in STATE.branch, never whatever is current
|
|
228
|
-
when a recorded branch exists. A new-GitHub REPOSITORY.md proves the
|
|
229
|
-
default checkout and first bound branch; later milestones may rebind
|
|
230
|
-
`gsd-path/M00N` without rewriting that artifact. Build ignores older
|
|
231
|
-
milestone ship and integrate commits inherited through main. A ship commit
|
|
232
|
-
for the current STATE.branch milestone must be an ancestor of origin/main;
|
|
233
|
-
if it is not, that milestone's integration is incomplete and control routes
|
|
234
|
-
to ship, not build. Direct mode requires the matching canonical `integrate:`
|
|
235
|
-
commit; PR mode requires tag metadata and a two-parent merge whose second
|
|
236
|
-
parent is the ship commit. A null branch returns
|
|
237
|
-
to the router; build never creates, selects, switches, or rebinds it.
|
|
238
|
-
- The ship phase makes exactly one commit on the bound branch — the
|
|
239
|
-
`.project/`-only ship commit recording
|
|
240
|
-
STATE.md, the final-review artifacts, and the archive — and additionally
|
|
241
|
-
owns the integration leg. Direct mode creates and pushes one `--no-ff` merge
|
|
242
|
-
onto `main` with subject
|
|
243
|
-
`integrate: M00N — merge gsd-path/M00N into main`. Pull-request mode creates
|
|
244
|
-
or reuses one GitHub.com PR and waits for the user to merge it with a merge
|
|
245
|
-
commit; it never auto-merges. Both modes create one annotated
|
|
246
|
-
`milestone/<NNN>-<slug>` tag after merge validation.
|
|
247
|
-
The roadmap and
|
|
248
|
-
plan phases each make exactly one approval checkpoint commit
|
|
249
|
-
(`.project/`-only, deferred to the build transition commit during a
|
|
250
|
-
new-repository transaction or before Git exists). Their bundled
|
|
251
|
-
`pipeline_state.py approve` command journals before changing STATE or
|
|
252
|
-
ROADMAP.md and owns that canonical checkpoint; a routed
|
|
253
|
-
`resume-checkpoint` must finish before phase work. The router makes one
|
|
254
|
-
bookkeeping commit through `pipeline_state.py promote-next` when promoting a
|
|
255
|
-
lookahead track at a milestone boundary. Every other commit belongs to the
|
|
256
|
-
orchestrator.
|
|
257
|
-
- Reviewers verify and block; they never fix. A block names the criterion,
|
|
258
|
-
observed result, evidence location, and concrete fix direction. An optional
|
|
259
|
-
review panel is advisory: the canonical reviewer remains the only wave
|
|
260
|
-
pass/fail, and panel findings never average or auto-replan. Same-model
|
|
261
|
-
agreement is not independent verification: matching verdicts from one
|
|
262
|
-
model family count as a single evidence path. Independence comes from
|
|
263
|
-
re-run commands, reconstructed patches, different sources, or a
|
|
264
|
-
different model family. Resolve panel
|
|
265
|
-
membership with the bundled `scripts/review_panel.py` helper; do not invent
|
|
266
|
-
model families or slugs. Create task isolation and verify sidecars with the
|
|
267
|
-
bundled `scripts/isolation.py` helper; do not invent `git worktree add` or
|
|
268
|
-
`--detach`. Undo unpublished pipeline work with `scripts/pipeline_undo.py`;
|
|
269
|
-
do not invent `git reset`. Diagnose a stuck pipeline with
|
|
270
|
-
`scripts/pipeline_diagnose.py`.
|
|
271
|
-
- A bundled helper that exits non-zero stops the current step. Print its
|
|
272
|
-
stderr verbatim, run `scripts/pipeline_diagnose.py diagnose --repo
|
|
273
|
-
<absolute-root>` (bundled with `$gsd-path-forensics`), and report both.
|
|
274
|
-
Do not rerun the same command unchanged unless the helper's own contract
|
|
275
|
-
names that exact rerun as its interruption recovery. Never repair state or
|
|
276
|
-
Git by hand instead.
|
|
277
|
-
- The discussion sidecar may run during any non-shipped phase. It grounds
|
|
278
|
-
answers in code and phase artifacts, may perform focused research when
|
|
279
|
-
needed, and writes only its discussion artifacts; it never changes phase
|
|
280
|
-
state or bypasses a phase gate.
|
|
281
|
-
- During an uncommitted archive transaction, discussion writes a complete
|
|
282
|
-
active copy that extends the archived pair. The ship phase reruns `prepare`;
|
|
283
|
-
the helper validates the prefix and atomically reconciles both files.
|
|
284
|
-
Discussion never edits an archive directly or writes after shipment.
|
|
285
|
-
- The loop runner wraps explicit skills in a bounded check → verify → fix →
|
|
286
|
-
verify pass driven by a LOOP.md spec. It never advances a phase gate
|
|
287
|
-
itself and never commits or pushes.
|
|
288
|
-
- Fix tasks use the complete task template, not an abbreviated finding.
|
|
289
|
-
|
|
290
115
|
## Gates
|
|
291
116
|
|
|
292
117
|
- Same-wave dependencies execute in dependency order; a task dispatches as
|
|
@@ -344,36 +169,6 @@ full-repo suite on a tiny edit outrank the phase brief.
|
|
|
344
169
|
and state whether the active router continues automatically or which exact
|
|
345
170
|
explicit skill the user should invoke next.
|
|
346
171
|
|
|
347
|
-
## New GitHub repositories
|
|
348
|
-
|
|
349
|
-
- Create a GitHub repository only from an explicit user request followed by an
|
|
350
|
-
approval of the exact owner/name, visibility, default-checkout path,
|
|
351
|
-
`gsd-path/M001` branch, and linked primary-worktree path. Before the
|
|
352
|
-
external action produces an artifact, present those proposed targets as the
|
|
353
|
-
inline **Review** surface using the active router's preview contract.
|
|
354
|
-
Do not write a
|
|
355
|
-
preview file into the invocation directory or another repository. Run the
|
|
356
|
-
bundled bootstrap helper's read-only `preview` command for this evidence.
|
|
357
|
-
- After approval, the bootstrap helper persists the exact targets under the
|
|
358
|
-
approved workspace before the first external mutation. Its `create` command
|
|
359
|
-
creates or verifies the remote, checkout, branch, and linked worktree one
|
|
360
|
-
stage at a time. A matching journal permits explicit resume and adoption; a
|
|
361
|
-
collision without that journal blocks. The helper removes the journal only
|
|
362
|
-
after writing owned STATE.md and fixed-format `.project/REPOSITORY.md` in the
|
|
363
|
-
linked worktree.
|
|
364
|
-
- During an approved new-repository transaction, the router may create the
|
|
365
|
-
first GSD Path branch and linked primary worktree at the verified
|
|
366
|
-
remote-default SHA and persist that branch in STATE.md and REPOSITORY.md.
|
|
367
|
-
Build must verify and adopt that exact binding from REPOSITORY.md, never a
|
|
368
|
-
free-form log. Task branches and task worktrees remain exclusively
|
|
369
|
-
build-orchestrator owned.
|
|
370
|
-
- Keep the cloned default checkout clean on the remote default branch. Run the
|
|
371
|
-
pipeline from the linked GSD Path worktree; never initialize `.project/` in
|
|
372
|
-
the default checkout, reuse an existing branch or path (except an explicitly
|
|
373
|
-
approved empty linked-worktree folder via `--reuse-empty-worktree`), move an existing
|
|
374
|
-
repository, or recover a partial GitHub creation without the exact approved
|
|
375
|
-
journal and re-verification.
|
|
376
|
-
|
|
377
172
|
## Escalation
|
|
378
173
|
|
|
379
174
|
Stop and ask the user only when:
|
package/CHANGELOG.md
CHANGED
|
@@ -98,3 +98,284 @@ are documented here. Format follows [Keep a Changelog](https://keepachangelog.co
|
|
|
98
98
|
### Fixed
|
|
99
99
|
- describe untracked legacy migration in help
|
|
100
100
|
- preserve older untracked runtimes during migration
|
|
101
|
+
|
|
102
|
+
## [1.4.0] - 2026-09-30
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
- key verify ledger rows by repo and fail closed on member drift (S3d)
|
|
106
|
+
- guard coders in member sidecars with coordinator host hooks (S3c3b2)
|
|
107
|
+
- dispatch and land member tasks in build rounds (S3c3b1)
|
|
108
|
+
- activate member tasks with a live copy in the member sidecar (S3c3a)
|
|
109
|
+
- prove landed member tasks from record and member landing (S3c2b)
|
|
110
|
+
- land member tasks with a journaled two-repo landing (S3c2a)
|
|
111
|
+
- isolate member tasks in Path-owned member checkouts (S3c1)
|
|
112
|
+
- shrink the AGENTS.md block and move phase rules into skills
|
|
113
|
+
- install AGENTS.md as a managed gsd-path block
|
|
114
|
+
- lock members and create member bound branches at build start (S3b)
|
|
115
|
+
- plan member tasks with repo: (S3a)
|
|
116
|
+
- pre-approve intent and plan gates for unattended quick lanes (#150)
|
|
117
|
+
- hold member writes to the coordinator phase (S2d)
|
|
118
|
+
- install member git hooks with --member-of (S2c)
|
|
119
|
+
- add member mode to git guard with push authorization (S2b)
|
|
120
|
+
- add multi-repo member role marker (S2a)
|
|
121
|
+
- add multi-repo member contract (S1)
|
|
122
|
+
|
|
123
|
+
### Changed
|
|
124
|
+
- Reflow Copilot exclusion wording in trust-validation docs
|
|
125
|
+
- record 1.4.0 live release evidence
|
|
126
|
+
- prepare 1.4.0 minor candidate
|
|
127
|
+
- Note invalid-copy rejection evidence in multi-repo S5d
|
|
128
|
+
- multi-repo: native retry for a failed member task
|
|
129
|
+
- Refresh multi-repo activation docs and host guidance
|
|
130
|
+
- multi-repo: native member task dispatch
|
|
131
|
+
- evaluate_host: keep the release addendum on the quick scenario only
|
|
132
|
+
- multi-repo S5d: two-repo host scenario
|
|
133
|
+
- Clarify optional hooks and remove obsolete gate note
|
|
134
|
+
- multi-repo S5c: activate member execution and document it
|
|
135
|
+
- Correct S5b member documentation
|
|
136
|
+
- record app release tags and Linux formats
|
|
137
|
+
- daemon: refuse cross-site and non-JSON POSTs
|
|
138
|
+
- plan a native dashboard app for every OS
|
|
139
|
+
- multi-repo S5b: greenfield members and member detect
|
|
140
|
+
- Make ReplaceTests portable to POSIX Python 3.9
|
|
141
|
+
- Align two-repo proof documentation with test coverage
|
|
142
|
+
- multi-repo S5a: two-repo full-cycle proof
|
|
143
|
+
- Point lookahead drift guidance to S4d
|
|
144
|
+
- multi-repo S4d: member lookahead drift check
|
|
145
|
+
- Clarify active milestone member status documentation
|
|
146
|
+
- multi-repo S4c3: member plan check, status, and diagnose
|
|
147
|
+
- Document member undo safeguards
|
|
148
|
+
- multi-repo S4c2: undo a member landing
|
|
149
|
+
- Document member retirement guards and correct proof scope
|
|
150
|
+
- multi-repo S4c1: retire member bound branches at bind-next
|
|
151
|
+
- Exercise core.autocrlf=true in the attributes test under the dev runner
|
|
152
|
+
- Keep .project LF under core.autocrlf=true with a local attributes rule
|
|
153
|
+
- Port the member-close changes from main to native Windows
|
|
154
|
+
- Patch only the probe module's os in the Windows retry test
|
|
155
|
+
- Port the multi-repo member tests to native Windows
|
|
156
|
+
- Run the native Windows gate in CI and make it blocking
|
|
157
|
+
- Never skip an archive check because resolve() raised on Windows
|
|
158
|
+
- Decode test subprocess output as UTF-8
|
|
159
|
+
- Use the directory mutex for the discussion lock outside git on Windows
|
|
160
|
+
- Make member-isolation and release-receipt tests portable to Windows
|
|
161
|
+
- Decode archive and projection test output as UTF-8
|
|
162
|
+
- Lock discussions outside git on Windows and report sync paths with slashes
|
|
163
|
+
- Type guard-test helper paths the way Git Bash agents do
|
|
164
|
+
- Retry installer lock and skill-directory moves on Windows
|
|
165
|
+
- Make installer and core-migration tests portable to Windows
|
|
166
|
+
- Keep doctor running when git is not on PATH on Windows
|
|
167
|
+
- Make the runtime lifecycle tests portable to Windows
|
|
168
|
+
- Retry runtime directory renames on Windows and copy the launcher exactly
|
|
169
|
+
- Expect native paths in the Zed and Grok host command tests
|
|
170
|
+
- Close OpenCode session-store connections so Windows can delete them
|
|
171
|
+
- Read dispatch briefs as UTF-8 in the fake children
|
|
172
|
+
- Send native Windows relative paths to git with forward slashes
|
|
173
|
+
- Make daemon tests platform-correct on Windows
|
|
174
|
+
- Write plugin-managed files as UTF-8 bytes
|
|
175
|
+
- Keep discovered project roots in their original case on Windows
|
|
176
|
+
- Compare lookahead layout as POSIX paths on Windows
|
|
177
|
+
- Resolve codex through PATHEXT in the Codex evaluation harness
|
|
178
|
+
- Shadow the real codex in the evaluate_codex test on Windows
|
|
179
|
+
- Keep tests from ever reaching a real GitHub account
|
|
180
|
+
- Send subprocess input to git byte-exact on Windows
|
|
181
|
+
- Document native Windows requirements
|
|
182
|
+
- Make the Node suite and dev runner portable to Windows
|
|
183
|
+
- Make test fixtures portable to Windows
|
|
184
|
+
- Update member ship documentation and sync skill copies
|
|
185
|
+
- multi-repo S4b2b: post-commit member ship checks
|
|
186
|
+
- tests: hold and reap dispatch wrappers started in-process
|
|
187
|
+
- Align multi-repo work plan with S4b2a
|
|
188
|
+
- Reuse a final-scope wave review whose Surface field carries detail
|
|
189
|
+
- tests: keep git auto-maintenance in the foreground
|
|
190
|
+
- multi-repo S4b2a: member close and ship body lines
|
|
191
|
+
- tests: finish git housekeeping before trust-evidence temp cleanup
|
|
192
|
+
- Clarify member PR integration documentation
|
|
193
|
+
- multi-repo S4b1b: member pull-request integration
|
|
194
|
+
- Document member integration recovery and refresh rules
|
|
195
|
+
- multi-repo S4b1a: member direct integration
|
|
196
|
+
- Split child commands with POSIX quoting and write runtime output as UTF-8
|
|
197
|
+
- Install hooks and wrap Core hooks correctly on Windows
|
|
198
|
+
- Close Windows guard bypasses and decode text as UTF-8
|
|
199
|
+
- Run dispatch, verify, and loop processes portably on Windows
|
|
200
|
+
- Create STATE.md on Windows through pinned handles
|
|
201
|
+
- Lock pipeline state on Windows and write product files as LF bytes
|
|
202
|
+
- Leave the Windows CI job to the PR where Windows passes
|
|
203
|
+
- Isolate USERPROFILE with HOME in tests
|
|
204
|
+
- Pick the lock implementation by what imports, and split Windows CI suites
|
|
205
|
+
- Write test fixtures as exact UTF-8 LF bytes
|
|
206
|
+
- Write package.json as LF bytes in the skill-resource sync
|
|
207
|
+
- Add Windows platform helpers, portable dev runners, and a Windows CI job
|
|
208
|
+
- Clarify member head binding documentation
|
|
209
|
+
- multi-repo S4a2: member reviewed heads in the final review
|
|
210
|
+
- Point workflow to member Verify contract
|
|
211
|
+
- multi-repo S4a1: member sidecars for project Verify
|
|
212
|
+
- Correct S3d ledger and drift guidance
|
|
213
|
+
- Clarify member sidecar hook documentation
|
|
214
|
+
- Refresh member dispatch documentation and generated comments
|
|
215
|
+
- Document member activation safeguards and recovery
|
|
216
|
+
- Document member landing proof and archive recovery
|
|
217
|
+
- Correct member landing documentation and hook details
|
|
218
|
+
- merge: preserve validated dashboard fixes after publication timeout
|
|
219
|
+
- Refresh dashboard and tray documentation
|
|
220
|
+
- Clarify native retry finish documentation
|
|
221
|
+
- Align S3c documentation with member execution timing
|
|
222
|
+
- dispatch_driver: finish a native retry after a blocked driver attempt
|
|
223
|
+
- Drop the Node copy of the project runtime file list
|
|
224
|
+
- Correct managed AGENTS.md guidance and ADR context
|
|
225
|
+
- Document ignored .DS_Store setup behavior
|
|
226
|
+
- Document S3b build-start lock and recovery
|
|
227
|
+
- Sync generated GSD Path scripts
|
|
228
|
+
- Clarify Finder junk handling in pipeline docs
|
|
229
|
+
- Document pre-approval scope and reconcile gate guidance
|
|
230
|
+
- Correct stale multi-repo planning documentation
|
|
231
|
+
- Document legacy ledger checkpoint behavior
|
|
232
|
+
- Document ignored .project artifact handling
|
|
233
|
+
- Clarify local skill edit recovery guidance
|
|
234
|
+
- Correct stale S2d work plan guidance
|
|
235
|
+
- Clarify research transition gate documentation
|
|
236
|
+
- propose ADR 0003 managed AGENTS.md block
|
|
237
|
+
- Clarify first-install contract collision guidance
|
|
238
|
+
- Clarify half-retire recovery documentation and verify formatting
|
|
239
|
+
- Document Claude staging cleanup during shipment
|
|
240
|
+
- Document ignored pipeline state recovery
|
|
241
|
+
- Correct S2c member hook work plan
|
|
242
|
+
- Document native parallel finish recovery
|
|
243
|
+
- Clarify member guard documentation and authorization lifetime
|
|
244
|
+
- Clarify member marker documentation and verify formatting
|
|
245
|
+
- Update S1 plan and remove stale allowlist entry
|
|
246
|
+
- Clarify member delete authorization and close recovery proof
|
|
247
|
+
- close multi-repo plan open items R23-R24
|
|
248
|
+
- Clarify member documentation and correct S5 doc targets
|
|
249
|
+
- close multi-repo plan open items R17-R20
|
|
250
|
+
- add multi-repo coordinator ADR and work plan
|
|
251
|
+
- update release notes for v1.3.1
|
|
252
|
+
|
|
253
|
+
### Fixed
|
|
254
|
+
- Fix three Windows races and identity mismatches found on the rebased stack
|
|
255
|
+
- Fix the member-build-start path regex
|
|
256
|
+
- Fix the Windows CI-only test failures and a Python 3.9 guard crash
|
|
257
|
+
- Fix the last native Windows test failures
|
|
258
|
+
- show actual project folders in toolbar rows
|
|
259
|
+
- group tray status progress and usage on separate lines
|
|
260
|
+
- keep tray folder paths in tooltips
|
|
261
|
+
- show project identity and wrap tray panel details
|
|
262
|
+
- wrap full project paths on dashboard board
|
|
263
|
+
- show main project folder alongside dashboard worktree
|
|
264
|
+
- keep runtime module identity independent of test order
|
|
265
|
+
- detect legacy marker as a whole line; keep distribution layout in AGENTS.md
|
|
266
|
+
- match AGENTS.md markers as whole lines; doctor flags a cut block
|
|
267
|
+
- harden AGENTS.md block install and uninstall
|
|
268
|
+
- ignored .DS_Store in .project no longer orphans project setup (#149)
|
|
269
|
+
- skip ignored .DS_Store inside .project subdirectories (#149)
|
|
270
|
+
- keep DOCS-AUDIT Repo root on the primary repo, not the sidecar (#148)
|
|
271
|
+
- commit a legacy ignored verify ledger in build checkpoints
|
|
272
|
+
- skip ignored untracked .project entries in ship allowlist checks (#149)
|
|
273
|
+
- say local skill edits are not carried forward (#151)
|
|
274
|
+
- let decide run the research handoff check at decide/active
|
|
275
|
+
- name a working path when --project finds an existing contract
|
|
276
|
+
- prune empty host .claude dirs before .project gates
|
|
277
|
+
- let retire recover a half-retired task worktree
|
|
278
|
+
- refuse landings when ignore rules hide .project state
|
|
279
|
+
- let finish land natively dispatched parallel tasks
|
|
280
|
+
|
|
281
|
+
### Other
|
|
282
|
+
- Align Copilot exclusion docs with persistent validator exclusion
|
|
283
|
+
- Let forced member retire proceed on invalid task copy
|
|
284
|
+
- Correct native member diff instructions and track retry gap
|
|
285
|
+
- Record Claude and Codex two-repo host proof
|
|
286
|
+
- Fix native member routing and isolate host scenario
|
|
287
|
+
- Align activation host proof with pre-merge gate
|
|
288
|
+
- Correct S5d host proof and release timing
|
|
289
|
+
- Synced the canonical Windows checkout-path fix into 11 generated skill copies. Before the change, the resource sync check failed and caused the reported test failures. Afterward, the sync check, four affected Node tests, and 66 focused Python tests passed. Windows CI still needs to rerun
|
|
290
|
+
- Fixed the Windows checkout-path comparison and replaced three test-fixture deletions that fail on read-only Git objects. The regression test failed before the fix and passed after; 66 focused tests pass locally. Windows CI still needs to rerun. The ponytail skill was unavailable in this environment
|
|
291
|
+
- Record A1 daemon version and port ownership questions
|
|
292
|
+
- Move legacy cleanup into A1 and require version bumps
|
|
293
|
+
- Gate daemon reuse by bundled version
|
|
294
|
+
- Specify app update index and verify migration cleanup
|
|
295
|
+
- Plan legacy autostart cleanup during app upgrade
|
|
296
|
+
- Resolve native app plan review findings
|
|
297
|
+
- Fixed the Windows test fixtures in tests/test_member_create.py: Git now gets a forward-slash temporary path, and the gh test uses a platform-independent fake process. All 22 focused tests pass locally; both fixes failed sensitivity checks when deliberately undone. Windows CI still needs to rerun
|
|
298
|
+
- Pin GitHub host and verify remote main
|
|
299
|
+
- Verify checkout history and resume partial clones
|
|
300
|
+
- Honor configured origins and prevent repository recreation
|
|
301
|
+
- Reject invalid checkouts and stale clone reuse
|
|
302
|
+
- Fix member creation recovery and validation
|
|
303
|
+
- Prove member hook denials and branch retirement
|
|
304
|
+
- Fixed two Windows daemon test races in tests/test_daemon_serve.py. The activity test now counts events for its own project. The poll test stages STATE.md outside the watched directory and retries a transient replacement lock. The activity failure was reproduced locally before the fix; all 15 daemon serve tests pass after it, including a simulated file-lock check. PR #230 remains open; CI has not been rerun in this phase
|
|
305
|
+
- Reuse linted member base for lookahead approval
|
|
306
|
+
- Detect member rename drift and fix done-task test
|
|
307
|
+
- Filter done member drift; focused test remains failing
|
|
308
|
+
- Scope member status to the active milestone
|
|
309
|
+
- Block member undo while landing journals are pending
|
|
310
|
+
- Guard member undo against publication and concurrent landings
|
|
311
|
+
- Harden member undo journaling, recovery, and locking
|
|
312
|
+
- Guard member retirement against moved refs and team checkouts
|
|
313
|
+
- Sync member status fix to generated skill copies
|
|
314
|
+
- Keep member status validation read-only
|
|
315
|
+
- Read staged member lock in ship guard
|
|
316
|
+
- Repair merged member PR body before tagging
|
|
317
|
+
- Validate member PR provenance and repair reused bodies
|
|
318
|
+
- Set Git identity in the temporary member test repository to fix the CI merge failures. The focused test reproduced the failure before the change; all 11 member integration tests passed after it, and a sabotage check reproduced the failure. Ponytail review found no smaller fix. CI has not rerun
|
|
319
|
+
- Fixed the test fixture in tests/test_member_integration.py by setting the bare remote’s HEAD to main. The CI-style Git setting reproduced the 4 failures and 5 errors before the fix; all 11 focused tests passed after it. Skipping the new line caused the original error again. Ponytail review found no smaller fix. CI has not rerun
|
|
320
|
+
- Guard member merges, resume interrupted branches, and refresh validation
|
|
321
|
+
- Ignore commented member heads in review headers
|
|
322
|
+
- Retire switched member sidecars without changing bound branches
|
|
323
|
+
- Retire detached sidecars and retain member Verify output
|
|
324
|
+
- Refuse colliding members and clean up rejected Verify
|
|
325
|
+
- Fix member Verify sidecars and final review reuse
|
|
326
|
+
- Fix member drift detection and document Verify output policy
|
|
327
|
+
- Report untracked host config collisions during activation
|
|
328
|
+
- Restore and validate member hooks before every launch
|
|
329
|
+
- Both CI jobs failed because the temporary member repository had no Git author identity. I set its identity in the test fixture. The member-round suite passed (9 tests) with automatic identity discovery disabled; removing the fixture setting reproduced the failure. `git diff --check` passed. The ponytail skill was unavailable. An earlier diagnostic command created an empty `/tmp/ci-verify-18.log` outside the worktree; I made no other out-of-worktree changes
|
|
330
|
+
- Retire recovered members and clarify locked brief bases
|
|
331
|
+
- Recover partial and stale member isolates
|
|
332
|
+
- Fix member task resume, retirement, and contract drift
|
|
333
|
+
- Reject tracked and symlinked member copy paths
|
|
334
|
+
- Reject missing member task agents
|
|
335
|
+
- Unify member task contract field checks
|
|
336
|
+
- Fix member recovery, activation, and retirement safeguards
|
|
337
|
+
- Reject changed member task contracts after landing
|
|
338
|
+
- Harden member landing proof across archival and status
|
|
339
|
+
- Serialize coordinator landings and block pending member journals
|
|
340
|
+
- Serialize member landings with per-member locks
|
|
341
|
+
- Guard member landing with STATE branch checks
|
|
342
|
+
- Fix member landing recovery and contract checks
|
|
343
|
+
- Preserve bare-backed worktree identity and paths
|
|
344
|
+
- Fix nested project identity and worktree paths
|
|
345
|
+
- Fix dashboard search by repository name
|
|
346
|
+
- Guard member checkout reuse and retirement ownership
|
|
347
|
+
- Fix member isolation placement, lock guidance, and retirement
|
|
348
|
+
- Preserve AGENTS.md owner text across updates and uninstall
|
|
349
|
+
- Reject symlinked member lock paths
|
|
350
|
+
- Remove stale member lock when tasks drop members
|
|
351
|
+
- Preflight member build starts before creating refs
|
|
352
|
+
- Preserve tracked .DS_Store in archive manifests
|
|
353
|
+
- Resolve landed member bases during plan approval
|
|
354
|
+
- Honor canonical lane and Config during preauthorization
|
|
355
|
+
- Fix staged legacy ledger checkpoint retries
|
|
356
|
+
- Validate docs audit rulings before preapproval
|
|
357
|
+
- Warn on legacy Codex skill backups
|
|
358
|
+
- Clarify block cutoff and release evaluation scope
|
|
359
|
+
- Reference PR #161 in rejected option
|
|
360
|
+
- Clarify managed block size and migration exceptions
|
|
361
|
+
- Skip unreadable listed checkouts when checking foreign members
|
|
362
|
+
- Resume blocked decide before the research recheck
|
|
363
|
+
- Fix stale member markers, symlinks, and Git inspection failures
|
|
364
|
+
- Suppress unsafe move when contract backup exists
|
|
365
|
+
- Probe plan and archived ledger ignore rules
|
|
366
|
+
- Probe fixed-name project files before landing
|
|
367
|
+
- Require managed coordinator guard before installing member hooks
|
|
368
|
+
- Harden member hook staging and worktree path checks
|
|
369
|
+
- Require origin/main baseline for member joins and pushes
|
|
370
|
+
- Reject nonfile member markers until manual removal
|
|
371
|
+
- Preserve marker directory errors in validation
|
|
372
|
+
- Reject redirected member marker directories
|
|
373
|
+
- Write member marker before recording membership
|
|
374
|
+
- Skip valid markers during member repair
|
|
375
|
+
- Fix member marker recovery and coordinator ownership
|
|
376
|
+
- Fix member validation and duplicate repository detection
|
|
377
|
+
- Authorize direct member bound branch publication
|
|
378
|
+
- Specify per-ref member push authorization for close
|
|
379
|
+
- Fix member branch, landing, and ship recovery plan
|
|
380
|
+
- Revise multi-repo plan for accepted design reviews
|
|
381
|
+
- Align multi-repo plan with member binding decisions
|
package/DOCS.md
CHANGED
|
@@ -35,6 +35,7 @@ DOCS.md (here) four journeys in one place
|
|
|
35
35
|
| **Upgrading** — new gsd-path version | [UPDATE.md](UPDATE.md) |
|
|
36
36
|
| **Team** — pin skills in repo | `--local` install; see [Installing](#installing) |
|
|
37
37
|
| **Shipping broke** — archive commit blocked | [HOOKS.md](HOOKS.md) (expected with hooks) |
|
|
38
|
+
| **Several repos** — one milestone changes them all | [Multi-repo milestones](README.md#multi-repo-milestones) |
|
|
38
39
|
|
|
39
40
|
---
|
|
40
41
|
|
|
@@ -92,7 +93,8 @@ node scripts/install.mjs --claude --project "$(pwd)" --hooks
|
|
|
92
93
|
```
|
|
93
94
|
|
|
94
95
|
**Requirements:** Node 18.17+. Project installs also require Python 3.9+ as
|
|
95
|
-
`python3` or `
|
|
96
|
+
`python3`, `python`, or `py -3`. Windows also needs Git for Windows (see the
|
|
97
|
+
README's Windows notes). **Always** restart the agent session after install.
|
|
96
98
|
|
|
97
99
|
**Host flags** are derived from `scripts/skill-resources.json`. Run
|
|
98
100
|
`node scripts/install.mjs --help` for the current `--<host>` list.
|
|
@@ -157,6 +159,9 @@ state or bypasses a gate.
|
|
|
157
159
|
|
|
158
160
|
### Gates (what you approve)
|
|
159
161
|
|
|
162
|
+
These are the usual checkpoints. For the opt-in quick-lane grant, see
|
|
163
|
+
[pre-approval in the README](README.md#start-your-first-project).
|
|
164
|
+
|
|
160
165
|
| Phase | You do |
|
|
161
166
|
| --- | --- |
|
|
162
167
|
| Define | Answer gaps or review milestone derivation; approve intent playback |
|
|
@@ -300,7 +305,8 @@ Full tree: [README.md](README.md#handoff-contract).
|
|
|
300
305
|
| Project-local skills | `node scripts/install.mjs --update --local` |
|
|
301
306
|
| From npm | `npx @opengsd/gsd-path@latest --update` |
|
|
302
307
|
| Guard scripts | `node scripts/install.mjs --hooks-refresh --project PATH` |
|
|
303
|
-
| `AGENTS.md`
|
|
308
|
+
| `AGENTS.md` | `node scripts/install.mjs --update --project PATH` — replaces only the GSD Path block |
|
|
309
|
+
| `WORKFLOW.md` | Manual merge — installer refuses overwrite |
|
|
304
310
|
| Health check | `node scripts/install.mjs --doctor [--project PATH]` — read-only; flags missing/stale skills, hook drift, and bad pipeline state |
|
|
305
311
|
|
|
306
312
|
Full guide: **[UPDATE.md](UPDATE.md)**. Router may print a one-line npm update notice.
|
|
@@ -321,10 +327,8 @@ Restart the host session. Confirm with `ls ~/.claude/skills/gsd-path` (or your h
|
|
|
321
327
|
Yes: `node scripts/install.mjs --cursor` (add other flags as needed).
|
|
322
328
|
|
|
323
329
|
**Will install overwrite my `AGENTS.md`?**
|
|
324
|
-
No
|
|
325
|
-
|
|
326
|
-
managed `.gsd-path/` runtime while keeping your contracts; merge project
|
|
327
|
-
contract updates manually ([UPDATE.md](UPDATE.md)).
|
|
330
|
+
No. GSD Path adds one marked block and keeps your text outside it byte for
|
|
331
|
+
byte. See [Update project contracts](UPDATE.md#update-project-contracts).
|
|
328
332
|
|
|
329
333
|
**Where is pipeline state?**
|
|
330
334
|
`.project/` in your repo — not chat history.
|
|
@@ -357,7 +361,9 @@ document with a body is brownfield and routes to inspect. A title-only README,
|
|
|
357
361
|
GSD Path skill bundles: a `gsd-path*` or `ogsd*` bundle is verified under a
|
|
358
362
|
supported installer skill root or when it contains `SKILL.md`; a similarly
|
|
359
363
|
named source directory still counts normally. Those scaffold-only trees stay
|
|
360
|
-
greenfield and route to define.
|
|
364
|
+
greenfield and route to define. An ignored, untracked regular `.DS_Store`
|
|
365
|
+
directly in `.project/` does not block setup, even if it appears while
|
|
366
|
+
STATE.md is being created. Other `.project/` content without STATE.md is
|
|
361
367
|
orphaned and blocks for recovery. An owned state, including the new-GitHub
|
|
362
368
|
bootstrap state, routes by STATE.md after classification without running the
|
|
363
369
|
initializer. After a milestone ships, the next one inspects again.
|
package/FULL.md
CHANGED
|
@@ -31,8 +31,10 @@ writes a fixed artifact under `.project/`; the next phase reads only from disk.
|
|
|
31
31
|
You can close your session at any point and a fresh session resumes exactly
|
|
32
32
|
where you left off.
|
|
33
33
|
|
|
34
|
-
You
|
|
35
|
-
|
|
34
|
+
You approve intent, plan, and final shipping. For an unattended quick-lane run,
|
|
35
|
+
you can grant intent and plan approval when invoking the router; see
|
|
36
|
+
[pre-approval in the README](README.md#start-your-first-project). Final shipping
|
|
37
|
+
still needs your approval.
|
|
36
38
|
|
|
37
39
|
### The pipeline
|
|
38
40
|
|
|
@@ -79,7 +81,10 @@ Use the [router and phase invocation table](README.md#install-summary) for your
|
|
|
79
81
|
### Requirements
|
|
80
82
|
|
|
81
83
|
- **Node 18.17+** for `scripts/install.mjs` (recommended; also the npm `gsd-path` bin)
|
|
82
|
-
- **
|
|
84
|
+
- **Windows:** runs natively (no WSL). Needs Git for Windows, whose Git Bash runs
|
|
85
|
+
git hooks and task Verify commands, and long paths enabled for deep worktrees.
|
|
86
|
+
- **Python 3.9+** found as `python3`, `python`, or `py -3`; required for project
|
|
87
|
+
installs, project refresh, and project-state
|
|
83
88
|
doctor checks; optional for global-only Node installs. `scripts/install.py`
|
|
84
89
|
mirrors global and `--local` install transactions and `--update`; it does not
|
|
85
90
|
provide the interactive wizard
|
|
@@ -442,6 +447,7 @@ layers. Every child brief names absolute input/output paths and bounded scope.
|
|
|
442
447
|
| Skills missing after install | Restart host session; [UPDATE.md](UPDATE.md) |
|
|
443
448
|
| Router blocked on branch | Check out `STATE.branch` or follow router instructions |
|
|
444
449
|
| Phase says precondition missing | Run the producing phase it names |
|
|
450
|
+
| Task landing or Verify reports ignored `.project/` state | Fix the matching product ignore rule through an owning task or patch wave (for example, anchor `build/` as `/build/`), then resume the pipeline. For the pre-existing ignored verify ledger exception, see the [build checkpoint](skills/gsd-path-build/SKILL.md). |
|
|
445
451
|
| Pipeline on unrelated work | Explicit invocation only — [DOCS.md](DOCS.md#faq) |
|
|
446
452
|
| Contradictory STATE / tasks | Re-invoke router; artifacts outrank chat |
|
|
447
453
|
| Archive tamper blocked | Expected with hooks — [HOOKS.md](HOOKS.md) |
|
package/GUIDE.md
CHANGED
|
@@ -11,7 +11,7 @@ DOCS.md hub — install, use, understand, update, FAQ
|
|
|
11
11
|
└── README.md reference tables, handoff contract, repo layout
|
|
12
12
|
|
|
13
13
|
WORKFLOW.md agent SOP (copied into your project with --project)
|
|
14
|
-
AGENTS.md operating rules (
|
|
14
|
+
AGENTS.md operating rules (marked block in your project; see UPDATE.md)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
| Doc | Read when |
|