@opengsd/gsd-path 1.3.0 → 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 +294 -0
- package/DOCS.md +19 -10
- 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 +61 -12
- 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 +55 -39
- package/scripts/install.py +564 -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 +49 -11
- 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/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 |
|
package/HOOKS.md
CHANGED
|
@@ -42,7 +42,8 @@ node scripts/install.mjs --claude --project /path/to/repo --hooks
|
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
For a project that already has `AGENTS.md` and `WORKFLOW.md`, initialize only
|
|
45
|
-
the guards and keep those contracts unchanged
|
|
45
|
+
the guards and keep those contracts unchanged (use `--update --project` to
|
|
46
|
+
refresh the `AGENTS.md` block):
|
|
46
47
|
|
|
47
48
|
```bash
|
|
48
49
|
npx @opengsd/gsd-path --hooks-init --claude --project /path/to/repo
|
|
@@ -86,11 +87,13 @@ manual activation is complete, Codex's guaranteed manifest tier is `git-only`;
|
|
|
86
87
|
changing the hook requires review again.
|
|
87
88
|
|
|
88
89
|
**Windows / interpreter caveat:** hooks and native host settings invoke a
|
|
89
|
-
Python interpreter that the installer probes at install time
|
|
90
|
-
then `python` (plain `python3` usually does not
|
|
91
|
-
runs, hook installation stops before writing
|
|
92
|
-
interpreter. The `sh` hook scripts themselves need
|
|
93
|
-
Windows provides
|
|
90
|
+
Python interpreter that the installer probes at install time: `python3` first,
|
|
91
|
+
then `python`, then the `py -3` launcher (plain `python3` usually does not
|
|
92
|
+
exist on Windows). If none runs, hook installation stops before writing
|
|
93
|
+
instead of pinning a missing interpreter. The `sh` hook scripts themselves need
|
|
94
|
+
a POSIX shell, which Git for Windows provides. Claude Code runs Windows hook
|
|
95
|
+
commands in Git Bash, so wrapped Core hooks are bash-quoted and their original
|
|
96
|
+
command runs through Git Bash, not cmd.exe.
|
|
94
97
|
|
|
95
98
|
### Updating after package upgrade
|
|
96
99
|
|
package/QUICK.md
CHANGED
|
@@ -22,7 +22,7 @@ Cursor, Zed, Kiro, Kimi Code.
|
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
24
|
[ ] 1. Install skills (step 1)
|
|
25
|
-
[ ] 2. Install project rules in your repo (step 2) —
|
|
25
|
+
[ ] 2. Install project rules in your repo (step 2) — an existing AGENTS.md keeps its text
|
|
26
26
|
[ ] 3. Restart agent session
|
|
27
27
|
[ ] 4. Open repo in agent; invoke router (step 3)
|
|
28
28
|
[ ] 5. Approve gates as they appear (step 4)
|
|
@@ -105,6 +105,9 @@ Codex invokes it as `$gsd-path-discuss`.
|
|
|
105
105
|
| Build | Escalations only |
|
|
106
106
|
| Ship | Approve patch waves if blocked; approve archive and ship when green |
|
|
107
107
|
|
|
108
|
+
For unattended quick-lane runs, see
|
|
109
|
+
[pre-approval in the README](README.md#start-your-first-project).
|
|
110
|
+
|
|
108
111
|
---
|
|
109
112
|
|
|
110
113
|
## 5. Resume
|
package/README.md
CHANGED
|
@@ -16,14 +16,14 @@ Support means the installer and dispatch contract exist. See the
|
|
|
16
16
|
proof and each host's guard tier.
|
|
17
17
|
|
|
18
18
|
<!-- release-docs -->
|
|
19
|
-
**Latest npm release:** [@opengsd/gsd-path@1.
|
|
19
|
+
**Latest npm release:** [@opengsd/gsd-path@1.4.0](https://www.npmjs.com/package/@opengsd/gsd-path/v/1.4.0) — [release notes](CHANGELOG.md#140---2026-09-30)
|
|
20
20
|
|
|
21
21
|
**Recent highlights**
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
22
|
+
- key verify ledger rows by repo and fail closed on member drift (S3d)
|
|
23
|
+
- guard coders in member sidecars with coordinator host hooks (S3c3b2)
|
|
24
|
+
- dispatch and land member tasks in build rounds (S3c3b1)
|
|
25
|
+
- activate member tasks with a live copy in the member sidecar (S3c3a)
|
|
26
|
+
- prove landed member tasks from record and member landing (S3c2b)
|
|
27
27
|
|
|
28
28
|
<!-- /release-docs -->
|
|
29
29
|
|
|
@@ -77,6 +77,21 @@ published release.
|
|
|
77
77
|
Requires **Node.js 18.17+** for the npm installer and **Python 3.9+** for
|
|
78
78
|
project contracts and pipeline helpers. Install and sign in to a supported
|
|
79
79
|
coding-agent host separately; GSD Path installs its skills, not the host itself.
|
|
80
|
+
|
|
81
|
+
**Windows** runs natively; WSL is not required. Install
|
|
82
|
+
[Git for Windows](https://git-scm.com/download/win): git hooks and task Verify
|
|
83
|
+
commands run in its Git Bash, never the System32 WSL launcher (`GSD_PATH_BASH`
|
|
84
|
+
overrides the path). Install a real Python from python.org or
|
|
85
|
+
`winget install Python.Python.3.12`; the Microsoft Store `python` alias stub
|
|
86
|
+
does not count. The installer accepts `python3`, `python`, or the `py -3`
|
|
87
|
+
launcher. For deep managed-worktree paths, turn on long paths
|
|
88
|
+
(`git config --global core.longpaths true` and Windows' `LongPathsEnabled`);
|
|
89
|
+
`--doctor` warns about both. Git for Windows defaults to
|
|
90
|
+
`core.autocrlf=true`, so project installs add a managed
|
|
91
|
+
`/.project/** text eol=lf` rule to the repository's local `.git/info/attributes`
|
|
92
|
+
(never committed; delete the `# gsd-path:begin` block to remove it). That keeps
|
|
93
|
+
pipeline state LF in every worktree while product files follow your setting.
|
|
94
|
+
|
|
80
95
|
The public npm package is **[@opengsd/gsd-path](https://www.npmjs.com/package/@opengsd/gsd-path)**.
|
|
81
96
|
|
|
82
97
|
```bash
|
|
@@ -98,7 +113,9 @@ npx @opengsd/gsd-path@latest --update --project /path/to/your-repo
|
|
|
98
113
|
Use host flags such as `--claude --codex` instead of `--all` to select hosts.
|
|
99
114
|
For project-local skills, run from your project directory and add `--local`
|
|
100
115
|
to install and update commands. `--project PATH` selects where contracts are
|
|
101
|
-
written; it does not change the directory used by `--local`.
|
|
116
|
+
written; it does not change the directory used by `--local`. If the repo
|
|
117
|
+
already has an `AGENTS.md`, the install adds a marked GSD Path block and keeps
|
|
118
|
+
your text; see [project contracts](UPDATE.md#update-project-contracts). Run
|
|
102
119
|
`npx @opengsd/gsd-path@latest --help` for all options. After installing, invoke
|
|
103
120
|
`$path` in Codex or `/path` on slash-command hosts to start the pipeline.
|
|
104
121
|
See [Install (summary)](#install-summary) for the host list and source-checkout commands.
|
|
@@ -116,6 +133,12 @@ contain newer changes.
|
|
|
116
133
|
4. Resume later from the same folder with the router. Use `$path status`
|
|
117
134
|
(Codex) or `/path status` to inspect progress without advancing.
|
|
118
135
|
|
|
136
|
+
For an unattended quick-lane run, invoke `$gsd-path --pre-approve intent,plan`
|
|
137
|
+
in Codex or `/gsd-path --pre-approve intent,plan` on slash-command hosts before
|
|
138
|
+
milestone intent approval. This grants those two gates for one milestone when
|
|
139
|
+
their checks pass. Required answers, failed checks, and other approval gates
|
|
140
|
+
still pause for you. Shipping always needs manual approval.
|
|
141
|
+
|
|
119
142
|
For a missing skill or an install problem, run:
|
|
120
143
|
|
|
121
144
|
```bash
|
|
@@ -158,8 +181,8 @@ daemon configuration.
|
|
|
158
181
|
|
|
159
182
|

|
|
160
183
|
|
|
161
|
-
*Dashboard screenshots captured
|
|
162
|
-
|
|
184
|
+
*Dashboard screenshots captured on September 19, 2026, using the repository's
|
|
185
|
+
sample projects; the current project folder layout may differ.*
|
|
163
186
|
|
|
164
187
|
Open **History & files** to browse project files and archived milestones,
|
|
165
188
|
preview Markdown, or read a file at a selected Git commit. Relative document
|
|
@@ -186,8 +209,8 @@ menu-bar icon to open the dashboard directly.
|
|
|
186
209
|
|
|
187
210
|
<img src="docs/images/macos-menu-bar.png" alt="OpenGSD Path native macOS panel with sample projects and its bottom toolbar" width="400">
|
|
188
211
|
|
|
189
|
-
*
|
|
190
|
-
|
|
212
|
+
*The native panel screenshot uses sample project data and was captured in its
|
|
213
|
+
preview window; the current folder layout may differ.*
|
|
191
214
|
|
|
192
215
|
### Install the monitor
|
|
193
216
|
|
|
@@ -362,6 +385,35 @@ default checkout, `gsd-path/M001` branch, and sibling linked worktree. A
|
|
|
362
385
|
journaled helper performs the approved creation and safely resumes a matching
|
|
363
386
|
partial remote/clone/worktree transaction; the default checkout stays clean.
|
|
364
387
|
|
|
388
|
+
## Multi-repo milestones
|
|
389
|
+
|
|
390
|
+
One project can change several repositories in the same milestone. The
|
|
391
|
+
**coordinator** repo holds `.project/` and runs the pipeline; each other repo
|
|
392
|
+
is a **member** listed in `.project/MEMBERS.md`. A member needs a GitHub.com
|
|
393
|
+
`origin` whose default is `main`. See
|
|
394
|
+
[ADR 0002](docs/adr/0002-multi-repo-coordinator.md) for the design.
|
|
395
|
+
|
|
396
|
+
- Add members at a milestone boundary: ask the router to add an existing repo
|
|
397
|
+
(`members.py add`) or to create a new one (`members.py add --create`, after
|
|
398
|
+
you approve the exact owner, name, visibility, and checkout). For optional
|
|
399
|
+
guard hooks, install them in the member with
|
|
400
|
+
`npx @opengsd/gsd-path@latest --member-of <coordinator> --project <member>`.
|
|
401
|
+
- The planner gives each member task `repo: <member>`; one task changes one
|
|
402
|
+
repo. Project Verify runs from the coordinator and reaches a member as
|
|
403
|
+
`../<member>`.
|
|
404
|
+
- Build works in Path-owned member branches `gsd-path/<project>-M00N` and
|
|
405
|
+
records each member landing in the coordinator. The final review names each
|
|
406
|
+
member's reviewed HEAD.
|
|
407
|
+
- Ship closes members in order before the coordinator: `close-members` merges
|
|
408
|
+
each member in its own `direct` or `pull-request` mode and tags it
|
|
409
|
+
`milestone/<project>-<archive>`, then the ship commit records each member.
|
|
410
|
+
A pull-request member waits for you to merge it. The next milestone retires
|
|
411
|
+
the member branches.
|
|
412
|
+
- `members.py detect --checkout <path>` reports whether a repo is a member.
|
|
413
|
+
|
|
414
|
+
Out of scope: submodules, one task across two repos, non-GitHub remotes, and
|
|
415
|
+
an atomic close across repos.
|
|
416
|
+
|
|
365
417
|
## Handoff contract
|
|
366
418
|
|
|
367
419
|
```text
|
package/RUNTIME.md
CHANGED
|
@@ -68,7 +68,7 @@ skeptic attempts under `skeptics/`.
|
|
|
68
68
|
| `skeptics --repo <root> --wave <N> --cycle <C> --child-command '<cmd>' [--wait <s>] [--child-timeout <s>]` | Step 7 skeptic branch: one read-only skeptic per `skeptic_groups` locator in its own sidecar at the recorded review base, briefed with the criterion, every observation, and the cited tasks verbatim; validate with `review_findings.py`, collect, retire, then rerun the helper. `none` without skeptic groups; `escalate` for structural blockers or the cycle cap. The skeptic files stay uncommitted for the fix-task or ruling checkpoint. |
|
|
69
69
|
| `fix-tasks --repo <root> --wave <N> --cycle <C>` | Step 7 batching: one fix task per `review_findings.py collect` batch with the failed criteria and observations verbatim, lint-checked; `escalate` for structural blockers, skeptic groups, cycle cap, or all-refuted. |
|
|
70
70
|
| `complete --repo <root>` | Completion: clean primary at `build/active` (or a crash-left `build/done`), no unfinished wave, the archive-time review cycle check (`discussion_validate.review_cycle_counts`: contiguous cycles, passing last cycle, panel and skeptic artifacts present); `workflow_run.py build-evidence` at HEAD; `pipeline_state.py transition` to `ship/active` with event `build done; final review pending`; checkpoint `build: complete milestone`. |
|
|
71
|
-
| `finish --repo <root> --task-id <id>` | Recover first; return a proven landing without repeating Verify, or verify, land, record, and retire one returned task. Without a dispatch record,
|
|
71
|
+
| `finish --repo <root> --task-id <id>` | Recover first; return a proven landing without repeating Verify, or verify, land, record, and retire one returned task. Without a dispatch record, or when the newest record is settled and its base differs from the task's current in-progress base (a native retry after a driver block), read the primary task's in-progress state; if it lacks a recorded base, use the parallel task isolate's state only if that worktree is authorized. A blocked record at the same base still refuses the retry. A deactivated isolate stays blocked. |
|
|
72
72
|
| `answer --repo <root> --task-id <id> --answer '<text>'` | Append `Orchestrator answer:` to the isolate's task Log; the next `round` redispatches that isolate. |
|
|
73
73
|
| `status --repo <root>` | Every task's newest dispatch record. |
|
|
74
74
|
|
package/UPDATE.md
CHANGED
|
@@ -14,7 +14,7 @@ Pulled new gsd-path / ran npx @opengsd/gsd-path@latest
|
|
|
14
14
|
└─ Skills feel stale or router shows old behavior?
|
|
15
15
|
├─ Global install → install.mjs --update
|
|
16
16
|
├─ Project-local → install.mjs --update --local (from repo root)
|
|
17
|
-
├─ Project wiring → install.mjs --update --project PATH (keeps
|
|
17
|
+
├─ Project wiring → install.mjs --update --project PATH (refreshes the AGENTS.md block; keeps WORKFLOW.md and selected runtime)
|
|
18
18
|
└─ npm only → npx @opengsd/gsd-path@latest --update
|
|
19
19
|
|
|
20
20
|
Installed with --hooks and need to refresh wiring
|
|
@@ -25,7 +25,10 @@ Installed with --hooks and need to refresh wiring
|
|
|
25
25
|
Existing project needs guards for the first time
|
|
26
26
|
└─ install.mjs --hooks-init --claude --project PATH
|
|
27
27
|
|
|
28
|
-
AGENTS.md
|
|
28
|
+
AGENTS.md template changed upstream
|
|
29
|
+
└─ install.mjs --update --project PATH (replaces only the GSD Path block)
|
|
30
|
+
|
|
31
|
+
WORKFLOW.md template changed upstream
|
|
29
32
|
└─ Manual diff + merge (installer never overwrites)
|
|
30
33
|
```
|
|
31
34
|
|
|
@@ -43,7 +46,8 @@ AGENTS.md or WORKFLOW.md template changed upstream
|
|
|
43
46
|
| Project runtime | Explicit upgrade only | [Runtime lifecycle](DOCS.md#project-runtime-versions) |
|
|
44
47
|
| Native hook settings + git hooks | Yes | `--hooks-refresh-full` (host flag creates missing config) |
|
|
45
48
|
| Guards for an existing project | Yes | `--hooks-init` (preserves project contracts) |
|
|
46
|
-
| `AGENTS.md
|
|
49
|
+
| `AGENTS.md` GSD Path block | Yes | `--update --project PATH` (owner text outside the block is kept) |
|
|
50
|
+
| `WORKFLOW.md` | **No** | Manual merge |
|
|
47
51
|
| `.project/*` (active milestone) | **No** | Pipeline state |
|
|
48
52
|
|
|
49
53
|
Existing managed skills, including the owned `path` alias, move to
|
|
@@ -56,13 +60,32 @@ it or move it aside first. Unrelated skills are never touched. Failed multi-host
|
|
|
56
60
|
updates roll back all selected targets.
|
|
57
61
|
An initial `--hooks` install merges valid native settings for explicitly selected Claude,
|
|
58
62
|
Codex, or Cursor hosts; other existing project contract and guard files are refused.
|
|
59
|
-
`--update --project PATH`
|
|
60
|
-
and refreshes managed hook wiring, native settings, and git hooks. For runtime
|
|
63
|
+
`--update --project PATH` replaces the GSD Path block in `AGENTS.md`, keeps
|
|
64
|
+
`WORKFLOW.md` and `.claude/CLAUDE.md`, and refreshes managed hook wiring, native settings, and git hooks. For runtime
|
|
61
65
|
changes or legacy installations, follow the [runtime lifecycle](DOCS.md#project-runtime-versions).
|
|
62
66
|
Use `--hooks-init` to add guards to an existing project without changing its
|
|
63
67
|
`AGENTS.md` or `WORKFLOW.md`. It inspects and merges native configs only for
|
|
64
68
|
the selected hosts; configs for unselected hosts remain untouched.
|
|
65
69
|
|
|
70
|
+
### Local additions
|
|
71
|
+
|
|
72
|
+
Skill directories are managed. Updates and reinstalls replace existing managed
|
|
73
|
+
skills with fresh copies; edits and added files inside them stay only in the
|
|
74
|
+
backup described above. To recover your changes, diff each backed-up skill
|
|
75
|
+
against the same skill from the release you had installed. Comparing the backup
|
|
76
|
+
against the new install also includes upstream changes.
|
|
77
|
+
|
|
78
|
+
Put local rules in project-owned files instead. Add a `## Local rules`
|
|
79
|
+
section to `AGENTS.md` after the `<!-- gsd-path:end -->` line, with
|
|
80
|
+
subsections per phase if needed (for example, "Research: also read X").
|
|
81
|
+
Updates replace only the text between the GSD Path markers, and phase and
|
|
82
|
+
subagent briefs name `AGENTS.md`. Hosts load project instructions differently,
|
|
83
|
+
so confirm your host and its subagents read it. Keep owner rules after the
|
|
84
|
+
block: Codex reads only the first 32 KiB, so text above the block can push
|
|
85
|
+
GSD Path rules out.
|
|
86
|
+
|
|
87
|
+
Gates are scripts, not an extension point. To change a gate, open an issue.
|
|
88
|
+
|
|
66
89
|
---
|
|
67
90
|
|
|
68
91
|
## Update skills
|
|
@@ -103,8 +126,8 @@ node scripts/install.mjs --update --claude --cursor
|
|
|
103
126
|
The interactive npm installer detects the old `.gsd-path/runtime/` layout when
|
|
104
127
|
you choose to update project wiring. Choose **Migrate and continue upgrade** to
|
|
105
128
|
migrate first, then update skills and wiring. Cancelling leaves the installation
|
|
106
|
-
unchanged.
|
|
107
|
-
|
|
129
|
+
unchanged. See [Project runtime versions](DOCS.md#project-runtime-versions)
|
|
130
|
+
for migration safety checks and backups. Migration never stages or commits changes.
|
|
108
131
|
|
|
109
132
|
For unattended upgrades, migration requires explicit consent:
|
|
110
133
|
|
|
@@ -160,8 +183,8 @@ local edits. Clean source checkouts still refresh before a project update.
|
|
|
160
183
|
Older unstamped installs show **Unknown — version metadata unavailable**.
|
|
161
184
|
This does not establish that their runtime is outdated or broken. **Update**
|
|
162
185
|
uses the guarded migration for legacy runtime directories and an upgrade for
|
|
163
|
-
version-pinned runtimes. Migration leaves a reviewable Git diff
|
|
164
|
-
|
|
186
|
+
version-pinned runtimes. Migration leaves a reviewable Git diff; the dashboard
|
|
187
|
+
shows the failure reason when it stops.
|
|
165
188
|
See [Project runtime versions](DOCS.md#project-runtime-versions) for manual
|
|
166
189
|
migration and preview commands. Use `--doctor --project PATH` to check runtime files.
|
|
167
190
|
|
|
@@ -200,10 +223,36 @@ Details: [HOOKS.md](HOOKS.md)
|
|
|
200
223
|
|
|
201
224
|
## Update project contracts
|
|
202
225
|
|
|
203
|
-
|
|
204
|
-
|
|
226
|
+
GSD Path owns one marked block in `AGENTS.md`:
|
|
227
|
+
|
|
228
|
+
```text
|
|
229
|
+
<!-- gsd-path:begin -->
|
|
230
|
+
...GSD Path contract...
|
|
231
|
+
<!-- gsd-path:end -->
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
You own everything outside the markers. `--project` puts the block first in a
|
|
235
|
+
new or existing `AGENTS.md`; `--update --project PATH` replaces only the
|
|
236
|
+
block. Both refuse:
|
|
237
|
+
|
|
238
|
+
- a file with unmatched markers or more than one block (fix the markers by
|
|
239
|
+
hand);
|
|
240
|
+
- a merged file over 32 KiB, because Codex reads only the first 32 KiB. The
|
|
241
|
+
error prints the file, block, and merged sizes and a command to move the
|
|
242
|
+
file aside.
|
|
243
|
+
|
|
244
|
+
Migration from whole-file installs (1.x): an `AGENTS.md` equal to a released
|
|
245
|
+
template becomes a block on the next `--project` or `--update --project`. An
|
|
246
|
+
edited whole-file `AGENTS.md` is refused with a diff: keep your rules, move
|
|
247
|
+
the file aside, rerun, then add your rules after the end marker.
|
|
248
|
+
|
|
249
|
+
`WORKFLOW.md` and `.claude/CLAUDE.md` (with Claude) are installed once with
|
|
250
|
+
`--project`. A plain install **refuses** if they already exist and prints a
|
|
251
|
+
command to move each to its `.pre-path.md` name. If that name is occupied, it
|
|
252
|
+
asks you to choose an unused name. `--update --project PATH` keeps them
|
|
253
|
+
unchanged.
|
|
205
254
|
|
|
206
|
-
To adopt upstream
|
|
255
|
+
To adopt upstream `WORKFLOW.md` changes:
|
|
207
256
|
|
|
208
257
|
1. Open new templates in the gsd-path repo or npm package
|
|
209
258
|
2. `diff` against your project copies
|
package/WORKFLOW.md
CHANGED
|
@@ -75,8 +75,11 @@ cancellation is a blocked result, not a skipped result.
|
|
|
75
75
|
|
|
76
76
|
Non-interactive phases auto-advance when their artifacts pass their gates.
|
|
77
77
|
User approval remains required at define, roadmap, plan, final-review patch
|
|
78
|
-
selection, and final shipping checkpoints. Decide auto-advances after its
|
|
79
|
-
unless a `NEEDS-USER` decision remains.
|
|
78
|
+
selection, and final shipping checkpoints. Decide auto-advances after its
|
|
79
|
+
evidence gate unless a `NEEDS-USER` decision remains. The opt-in quick-lane
|
|
80
|
+
grant for selected intent or plan gates is described in the
|
|
81
|
+
[router contract](skills/gsd-path/SKILL.md#pre-approval); all other gates
|
|
82
|
+
still ask.
|
|
80
83
|
|
|
81
84
|
Every user-facing checkpoint follows one handoff shape: **Outcome** states what
|
|
82
85
|
was produced or learned, **Review** links the primary canonical artifact by its
|
|
@@ -418,8 +421,9 @@ criterion `met`, `not-met`, or `unverifiable` with checked evidence. Each gap
|
|
|
418
421
|
reviewer records `pass` or `blocked` for its assigned end-to-end or cross-wave
|
|
419
422
|
risk. List only genuine
|
|
420
423
|
risks that could plausibly fail; never pad the list. The runtime
|
|
421
|
-
runs PLAN.md's project Verify
|
|
422
|
-
command/commit ledger
|
|
424
|
+
runs PLAN.md's project Verify and generates its gap view. Single-repo output
|
|
425
|
+
lives in the command/commit ledger; for member milestone evidence and reruns,
|
|
426
|
+
see [S4a1](docs/multi-repo-work.md#slices). Other gap
|
|
423
427
|
reviewers do not re-run it. The orchestrator
|
|
424
428
|
creates one disposable worktree at exact reviewed HEAD
|
|
425
429
|
per reviewer; project commands never run in the primary worktree. Every final
|
|
@@ -459,8 +463,8 @@ REPOSITORY.md, LESSONS.md, and the program artifacts (CHARTER.md,
|
|
|
459
463
|
ROADMAP.md, top-level SYNTHESIS.md) remain active project metadata; a program
|
|
460
464
|
ship also marks the milestone's roadmap entry `Status: shipped` with its
|
|
461
465
|
archive pointer inside the ship commit. MANIFEST.md is
|
|
462
|
-
written by same-directory temporary file plus atomic rename and lists
|
|
463
|
-
archive
|
|
466
|
+
written by same-directory temporary file plus atomic rename and lists
|
|
467
|
+
shippable archive files, ship date, final verdicts, wave/task/cycle counts, and
|
|
464
468
|
carried-forward items. A precommit helper gate validates canonical files, the
|
|
465
469
|
active-root allowlist, metadata, success rows, counts, and exact contents before
|
|
466
470
|
STATE may become shipped.
|
|
@@ -472,6 +476,18 @@ real wave-review files, every final artifact names the reviewed HEAD, and Notes
|
|
|
472
476
|
must be completed. A committed target is immutable and routes only to
|
|
473
477
|
validation.
|
|
474
478
|
|
|
479
|
+
Ship preparation removes file-free `.claude` staging directories left under the
|
|
480
|
+
active `.project/` tree. Archive preflight also removes them from the current
|
|
481
|
+
uncommitted archive. At the `.project/` top level, ship input and active-root
|
|
482
|
+
checks skip non-pipeline entries only when Git neither tracks nor would add
|
|
483
|
+
them (for example, an ignored, untracked `.DS_Store`). Tracked entries still
|
|
484
|
+
block, and pipeline-owned active paths block even when ignored. Strict checks
|
|
485
|
+
under `.project/` and the current archive skip a regular `.DS_Store` only when
|
|
486
|
+
Git ignores it and does not track it; the manifest omits that file. A tracked
|
|
487
|
+
or non-ignored `.DS_Store` receives normal checks and is listed if archived.
|
|
488
|
+
Other ignored archive files still block shipment, and committed archives remain
|
|
489
|
+
untouched.
|
|
490
|
+
|
|
475
491
|
One exception: a DOCS-AUDIT.md with pending `planned: no` rulings is copied
|
|
476
492
|
atomically back into a recreated `research/` so the alignment queue survives;
|
|
477
493
|
the archived original keeps full history. Active and archived research may
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengsd/gsd-path",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Disk-backed AI agent pipeline. Docs: DOCS.md (start here), QUICK.md, FULL.md, UPDATE.md",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"scripts/integration.py",
|
|
37
37
|
"scripts/archive_milestone.py",
|
|
38
38
|
"scripts/bootstrap_repository.py",
|
|
39
|
+
"scripts/members.py",
|
|
39
40
|
"scripts/detect_project.py",
|
|
40
41
|
"scripts/promote_lookahead.py",
|
|
41
42
|
"scripts/discussion_records.py",
|
|
@@ -83,15 +84,15 @@
|
|
|
83
84
|
},
|
|
84
85
|
"scripts": {
|
|
85
86
|
"install:ci": "npm ci",
|
|
86
|
-
"check:prereqs": "
|
|
87
|
-
"test": "node
|
|
87
|
+
"check:prereqs": "node scripts/dev/check-prereqs.mjs",
|
|
88
|
+
"test": "node tests/run-node-tests.mjs",
|
|
88
89
|
"test:smoke": "npm test",
|
|
89
90
|
"test:integration": "npm run test:python",
|
|
90
|
-
"test:python": "
|
|
91
|
-
"test:sync": "
|
|
92
|
-
"test:daemon": "
|
|
93
|
-
"verify": "npm test && npm run test:python &&
|
|
94
|
-
"verify:release": "npm run verify &&
|
|
91
|
+
"test:python": "node scripts/dev/py.mjs -m unittest discover -s tests",
|
|
92
|
+
"test:sync": "node scripts/dev/py.mjs scripts/sync_skill_resources.py --check",
|
|
93
|
+
"test:daemon": "node scripts/dev/py.mjs --path daemon -m unittest discover -s tests -p \"test_daemon_*.py\"",
|
|
94
|
+
"verify": "npm test && npm run test:python && npm run test:sync",
|
|
95
|
+
"verify:release": "npm run verify && node scripts/dev/py.mjs scripts/check_trust_evidence.py --repo .",
|
|
95
96
|
"release:docs": "node scripts/update_release_docs.mjs",
|
|
96
97
|
"release:bump": "node scripts/bump_version.mjs --bump auto",
|
|
97
98
|
"prepublishOnly": "npm run verify:release"
|