@opengsd/gsd-core 1.6.1 → 1.7.0-rc.2
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/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +1 -1
- package/.opencode/plugins/gsd-core.js +711 -0
- package/agents/gsd-advisor-researcher.md +2 -0
- package/agents/gsd-ai-researcher.md +1 -1
- package/agents/gsd-assumptions-analyzer.md +2 -0
- package/agents/gsd-code-fixer.md +2 -0
- package/agents/gsd-code-reviewer.md +2 -0
- package/agents/gsd-codebase-mapper.md +2 -0
- package/agents/gsd-debugger.md +2 -0
- package/agents/gsd-doc-writer.md +2 -0
- package/agents/gsd-eval-auditor.md +2 -0
- package/agents/gsd-executor.md +9 -6
- package/agents/gsd-integration-checker.md +2 -0
- package/agents/gsd-nyquist-auditor.md +2 -0
- package/agents/gsd-phase-researcher.md +2 -0
- package/agents/gsd-plan-checker.md +2 -0
- package/agents/gsd-planner.md +2 -0
- package/agents/gsd-project-researcher.md +2 -0
- package/agents/gsd-research-synthesizer.md +2 -0
- package/agents/gsd-roadmapper.md +2 -0
- package/agents/gsd-security-auditor.md +2 -0
- package/agents/gsd-ui-auditor.md +2 -0
- package/agents/gsd-ui-checker.md +2 -0
- package/agents/gsd-ui-researcher.md +2 -0
- package/agents/gsd-verifier.md +5 -2
- package/bin/gsd-mcp-server.js +31 -0
- package/bin/install.js +411 -1146
- package/commands/gsd/review.md +6 -0
- package/gemini-extension.json +1 -1
- package/gsd-core/bin/gsd-tools.cjs +134 -8
- package/gsd-core/bin/lib/adapter-declarative.cjs +35 -0
- package/gsd-core/bin/lib/adapter-imperative.cjs +52 -0
- package/gsd-core/bin/lib/assumption-delta.cjs +231 -0
- package/gsd-core/bin/lib/capability-lifecycle.cjs +7 -7
- package/gsd-core/bin/lib/capability-loader.cjs +45 -9
- package/gsd-core/bin/lib/capability-lock.cjs +2 -2
- package/gsd-core/bin/lib/capability-registry.cjs +891 -82
- package/gsd-core/bin/lib/capability-source.cjs +26 -11
- package/gsd-core/bin/lib/capability-validator.cjs +222 -2
- package/gsd-core/bin/lib/cli-skew-check.cjs +44 -0
- package/gsd-core/bin/lib/command-aliases.cjs +8 -0
- package/gsd-core/bin/lib/commands.cjs +2 -1
- package/gsd-core/bin/lib/config.cjs +27 -0
- package/gsd-core/bin/lib/embedding-adapter.cjs +27 -0
- package/gsd-core/bin/lib/external-descriptor-trust.cjs +70 -0
- package/gsd-core/bin/lib/frontmatter.cjs +53 -6
- package/gsd-core/bin/lib/handshake-serialized.cjs +70 -0
- package/gsd-core/bin/lib/hook-bus.cjs +81 -0
- package/gsd-core/bin/lib/host-integration-sdk.cjs +53 -0
- package/gsd-core/bin/lib/host-integration.cjs +469 -0
- package/gsd-core/bin/lib/init.cjs +35 -7
- package/gsd-core/bin/lib/install-engine.cjs +755 -0
- package/gsd-core/bin/lib/install-profiles.cjs +35 -4
- package/gsd-core/bin/lib/installer-migrations.cjs +1 -1
- package/gsd-core/bin/lib/mcp-server.cjs +194 -0
- package/gsd-core/bin/lib/milestone.cjs +68 -40
- package/gsd-core/bin/lib/model-adapter.cjs +50 -0
- package/gsd-core/bin/lib/phase-id.cjs +18 -0
- package/gsd-core/bin/lib/phase.cjs +57 -90
- package/gsd-core/bin/lib/phases-command-router.cjs +4 -3
- package/gsd-core/bin/lib/planning-workspace.cjs +1 -1
- package/gsd-core/bin/lib/probe-core.cjs +132 -2
- package/gsd-core/bin/lib/review-reviewer-selection.cjs +129 -13
- package/gsd-core/bin/lib/roadmap-command-router.cjs +3 -2
- package/gsd-core/bin/lib/roadmap-parser.cjs +21 -11
- package/gsd-core/bin/lib/roadmap-upgrade.cjs +3 -2
- package/gsd-core/bin/lib/roadmap.cjs +33 -22
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +65 -9
- package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +54 -4
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +5 -2
- package/gsd-core/bin/lib/runtime-hooks-surface.cjs +1 -1
- package/gsd-core/bin/lib/runtime-name-policy.cjs +160 -30
- package/gsd-core/bin/lib/shell-command-projection.cjs +16 -0
- package/gsd-core/bin/lib/stale-bake-guard.cjs +254 -0
- package/gsd-core/bin/lib/state-command-router.cjs +4 -0
- package/gsd-core/bin/lib/state-io.cjs +55 -0
- package/gsd-core/bin/lib/state-transition.cjs +1603 -0
- package/gsd-core/bin/lib/state.cjs +327 -683
- package/gsd-core/bin/lib/surface.cjs +4 -1
- package/gsd-core/bin/lib/validate.cjs +2 -1
- package/gsd-core/bin/lib/verify.cjs +6 -4
- package/gsd-core/bin/lib/workstream-inventory-builder.cjs +12 -2
- package/gsd-core/bin/lib/workstream-inventory.cjs +28 -0
- package/gsd-core/bin/lib/workstream.cjs +4 -4
- package/gsd-core/bin/shared/config-schema.manifest.json +9 -0
- package/gsd-core/references/agent-skills-bootstrap.md +60 -0
- package/gsd-core/references/honest-verifier.md +105 -0
- package/gsd-core/references/model-profiles.md +27 -0
- package/gsd-core/references/reviewer-instances.md +99 -0
- package/gsd-core/workflows/autonomous.md +30 -32
- package/gsd-core/workflows/complete-milestone.md +6 -10
- package/gsd-core/workflows/execute-phase.md +1 -1
- package/gsd-core/workflows/forensics.md +3 -3
- package/gsd-core/workflows/help/modes/full.md +1 -1
- package/gsd-core/workflows/manager.md +15 -15
- package/gsd-core/workflows/milestone-summary.md +3 -3
- package/gsd-core/workflows/new-milestone.md +6 -0
- package/gsd-core/workflows/plan-phase/steps/closed-phase-gate.md +42 -0
- package/gsd-core/workflows/plan-phase/steps/prd-express-path.md +102 -0
- package/gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md +23 -0
- package/gsd-core/workflows/plan-phase.md +4 -159
- package/gsd-core/workflows/review.md +33 -2
- package/gsd-core/workflows/thread.md +4 -4
- package/gsd-core/workflows/verify-phase.md +11 -4
- package/gsd-core/workflows/verify-work.md +1 -2
- package/hooks/dist/gsd-graphify-update.sh +7 -1
- package/hooks/gsd-graphify-update.sh +7 -1
- package/package.json +6 -4
- package/scripts/ci-test-scope.cjs +38 -9
- package/scripts/lint-allow-test-rule-refs.allowlist.json +0 -1
- package/scripts/lint-regression-test-names.allowlist.json +3 -0
- package/scripts/lint-test-file-count.allowlist.json +19 -5
- package/scripts/mutation-matrix.cjs +45 -3
- package/scripts/prompt-injection-scan.sh +8 -0
- package/scripts/run-tests.cjs +51 -1
- package/scripts/sync-manifest-versions.cjs +66 -14
- package/skills/gsd-review/SKILL.md +6 -0
- package/scripts/lint-windows-test-portability.cjs +0 -178
|
@@ -19,6 +19,8 @@ Spawned by `discuss-phase` via `Task()`. You do NOT present output directly to t
|
|
|
19
19
|
|
|
20
20
|
@~/.claude/gsd-core/references/untrusted-input-boundary.md
|
|
21
21
|
|
|
22
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
23
|
+
|
|
22
24
|
<documentation_lookup>
|
|
23
25
|
@~/.claude/gsd-core/references/research-documentation-lookup.md
|
|
24
26
|
</documentation_lookup>
|
|
@@ -72,7 +72,7 @@ Update AI-SPEC.md at `ai_spec_path`:
|
|
|
72
72
|
|
|
73
73
|
**Section 3 — Framework Quick Reference:** real installation command, actual imports, working entry point pattern for `system_type`, abstractions table (3-5 rows), pitfall list with why-it's-a-pitfall notes, folder structure, Sources subsection with URLs.
|
|
74
74
|
|
|
75
|
-
**Section 4 — Implementation Guidance:** specific model (e.g., `claude-sonnet-
|
|
75
|
+
**Section 4 — Implementation Guidance:** specific model (e.g., `claude-sonnet-5`, `gpt-4o`) with params, core pattern as code snippet with inline comments, tool use config, state management approach, context window strategy.
|
|
76
76
|
</step>
|
|
77
77
|
|
|
78
78
|
<step name="write_section_4b">
|
|
@@ -20,6 +20,8 @@ Spawned by `discuss-phase-assumptions` via `Task()`. You do NOT present output d
|
|
|
20
20
|
|
|
21
21
|
@~/.claude/gsd-core/references/untrusted-input-boundary.md
|
|
22
22
|
|
|
23
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
24
|
+
|
|
23
25
|
<input>
|
|
24
26
|
Agent receives via prompt:
|
|
25
27
|
|
package/agents/gsd-code-fixer.md
CHANGED
|
@@ -24,6 +24,8 @@ Before fixing code, discover project context:
|
|
|
24
24
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions during fixes.
|
|
25
25
|
|
|
26
26
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
27
|
+
|
|
28
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
27
29
|
1. List available skills (subdirectories)
|
|
28
30
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
29
31
|
3. Load specific `rules/*.md` files as needed during implementation
|
|
@@ -40,6 +40,8 @@ Before reviewing, discover project context:
|
|
|
40
40
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions during review.
|
|
41
41
|
|
|
42
42
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
43
|
+
|
|
44
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
43
45
|
1. List available skills (subdirectories)
|
|
44
46
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
45
47
|
3. Load specific `rules/*.md` files as needed during review
|
|
@@ -29,6 +29,8 @@ If the prompt contains a `<required_reading>` block, you MUST use the `Read` too
|
|
|
29
29
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
30
30
|
|
|
31
31
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
32
|
+
|
|
33
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
32
34
|
1. List available skills (subdirectories)
|
|
33
35
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
34
36
|
3. Load specific `rules/*.md` files as needed during implementation
|
package/agents/gsd-debugger.md
CHANGED
|
@@ -40,6 +40,8 @@ Your job: Find the root cause through hypothesis testing, maintain debug file st
|
|
|
40
40
|
- Load `rules/*.md` as needed during **investigation and fix**.
|
|
41
41
|
- Follow skill rules relevant to the bug being investigated and the fix being applied.
|
|
42
42
|
|
|
43
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
44
|
+
|
|
43
45
|
<philosophy>
|
|
44
46
|
|
|
45
47
|
@~/.claude/gsd-core/references/debugger-philosophy.md
|
package/agents/gsd-doc-writer.md
CHANGED
|
@@ -34,6 +34,8 @@ If the prompt contains a `<required_reading>` block, you MUST use the `Read` too
|
|
|
34
34
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
35
35
|
|
|
36
36
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
37
|
+
|
|
38
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
37
39
|
1. List available skills (subdirectories)
|
|
38
40
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
39
41
|
3. Load specific `rules/*.md` files as needed during implementation
|
|
@@ -39,6 +39,8 @@ Read `~/.claude/gsd-core/references/ai-evals.md` before auditing. This is your s
|
|
|
39
39
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
40
40
|
|
|
41
41
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
42
|
+
|
|
43
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
42
44
|
1. List available skills (subdirectories)
|
|
43
45
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
44
46
|
3. Load specific `rules/*.md` files as needed during implementation
|
package/agents/gsd-executor.md
CHANGED
|
@@ -64,6 +64,8 @@ Before executing, discover project context:
|
|
|
64
64
|
- Load `rules/*.md` as needed during **implementation**.
|
|
65
65
|
- Follow skill rules relevant to the task you are about to commit.
|
|
66
66
|
|
|
67
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
68
|
+
|
|
67
69
|
**CLAUDE.md enforcement:** If `./CLAUDE.md` exists, treat its directives as hard constraints during execution. Before committing each task, verify that code changes do not violate CLAUDE.md rules (forbidden patterns, required conventions, mandated tools). If a task action would contradict a CLAUDE.md directive, apply the CLAUDE.md rule — it takes precedence over plan instructions. Document any CLAUDE.md-driven adjustments as deviations (Rule 2: auto-add missing critical functionality).
|
|
68
70
|
</project_context>
|
|
69
71
|
|
|
@@ -689,7 +691,7 @@ Do NOT skip. Do NOT proceed to state updates if self-check fails.
|
|
|
689
691
|
</self_check>
|
|
690
692
|
|
|
691
693
|
<state_updates>
|
|
692
|
-
After SUMMARY.md, update STATE.md using `gsd-tools query` state handlers (
|
|
694
|
+
After SUMMARY.md, update STATE.md using `gsd-tools query` state handlers (named flags; see `sdk/src/query/QUERY-HANDLERS.md`):
|
|
693
695
|
|
|
694
696
|
```bash
|
|
695
697
|
# Advance plan counter (handles edge cases automatically)
|
|
@@ -700,16 +702,17 @@ gsd_run query state.update-progress
|
|
|
700
702
|
|
|
701
703
|
# Record execution metrics (phase, plan, duration, tasks, files)
|
|
702
704
|
gsd_run query state.record-metric \
|
|
703
|
-
"${PHASE}" "${PLAN}" "${DURATION}"
|
|
705
|
+
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
706
|
+
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
704
707
|
|
|
705
708
|
# Add decisions (extract from SUMMARY.md key-decisions)
|
|
706
709
|
for decision in "${DECISIONS[@]}"; do
|
|
707
|
-
gsd_run query state.add-decision "${decision}"
|
|
710
|
+
gsd_run query state.add-decision --summary "${decision}"
|
|
708
711
|
done
|
|
709
712
|
|
|
710
|
-
# Update session info (
|
|
713
|
+
# Update session info (stopped-at, resume-file; timestamp set automatically)
|
|
711
714
|
gsd_run query state.record-session \
|
|
712
|
-
|
|
715
|
+
--stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md" --resume-file "None"
|
|
713
716
|
```
|
|
714
717
|
|
|
715
718
|
```bash
|
|
@@ -736,7 +739,7 @@ gsd_run query requirements.mark-complete ${REQ_IDS}
|
|
|
736
739
|
|
|
737
740
|
**For blockers found during execution:**
|
|
738
741
|
```bash
|
|
739
|
-
gsd_run query state.add-blocker "Blocker description"
|
|
742
|
+
gsd_run query state.add-blocker --text "Blocker description"
|
|
740
743
|
```
|
|
741
744
|
</state_updates>
|
|
742
745
|
|
|
@@ -35,6 +35,8 @@ Every expected cross-phase connection must resolve to WIRED (verified end-to-end
|
|
|
35
35
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
36
36
|
|
|
37
37
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
38
|
+
|
|
39
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
38
40
|
1. List available skills (subdirectories)
|
|
39
41
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
40
42
|
3. Load specific `rules/*.md` files as needed during implementation
|
|
@@ -51,6 +51,8 @@ Read ALL files from `<required_reading>`. Extract:
|
|
|
51
51
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
52
52
|
|
|
53
53
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
54
|
+
|
|
55
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
54
56
|
1. List available skills (subdirectories)
|
|
55
57
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
56
58
|
3. Load specific `rules/*.md` files as needed during implementation
|
|
@@ -50,6 +50,8 @@ Before researching, discover project context:
|
|
|
50
50
|
- Load `rules/*.md` as needed during **research**.
|
|
51
51
|
- Research output should account for project skill patterns and conventions.
|
|
52
52
|
|
|
53
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
54
|
+
|
|
53
55
|
**CLAUDE.md enforcement:** If `./CLAUDE.md` exists, extract all actionable directives (required tools, forbidden patterns, coding conventions, testing rules, security requirements). Include a `## Project Constraints (from CLAUDE.md)` section in RESEARCH.md listing these directives so the planner can verify compliance. Treat CLAUDE.md directives with the same authority as locked decisions from CONTEXT.md — research should not recommend approaches that contradict them.
|
|
54
56
|
</project_context>
|
|
55
57
|
|
|
@@ -54,6 +54,8 @@ Before verifying, discover project context:
|
|
|
54
54
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
55
55
|
|
|
56
56
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
57
|
+
|
|
58
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
57
59
|
1. List available skills (subdirectories)
|
|
58
60
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
59
61
|
3. Load specific `rules/*.md` files as needed during verification
|
package/agents/gsd-planner.md
CHANGED
|
@@ -46,6 +46,8 @@ Before planning, discover project context:
|
|
|
46
46
|
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
47
47
|
- Load `rules/*.md` as needed during **planning**.
|
|
48
48
|
- Ensure plans account for project skill patterns and conventions.
|
|
49
|
+
|
|
50
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
49
51
|
</project_context>
|
|
50
52
|
|
|
51
53
|
<context_fidelity>
|
|
@@ -34,6 +34,8 @@ Your files feed the roadmap:
|
|
|
34
34
|
|
|
35
35
|
@~/.claude/gsd-core/references/untrusted-input-boundary.md
|
|
36
36
|
|
|
37
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
38
|
+
|
|
37
39
|
<documentation_lookup>
|
|
38
40
|
@~/.claude/gsd-core/references/research-documentation-lookup.md
|
|
39
41
|
</documentation_lookup>
|
|
@@ -34,6 +34,8 @@ If the prompt contains a `<required_reading>` block, you MUST use the `Read` too
|
|
|
34
34
|
|
|
35
35
|
@~/.claude/gsd-core/references/untrusted-input-boundary.md
|
|
36
36
|
|
|
37
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
38
|
+
|
|
37
39
|
<downstream_consumer>
|
|
38
40
|
Your SUMMARY.md is consumed by the gsd-roadmapper agent which uses it to:
|
|
39
41
|
|
package/agents/gsd-roadmapper.md
CHANGED
|
@@ -26,6 +26,8 @@ If the prompt contains a `<required_reading>` block, you MUST use the `Read` too
|
|
|
26
26
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
27
27
|
|
|
28
28
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
29
|
+
|
|
30
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
29
31
|
1. List available skills (subdirectories)
|
|
30
32
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
31
33
|
3. Load specific `rules/*.md` files as needed during implementation
|
|
@@ -51,6 +51,8 @@ Read ALL files from `<required_reading>`. Extract:
|
|
|
51
51
|
**Context budget:** Load project skills first (lightweight). Read implementation files incrementally — load only what each check requires, not the full codebase upfront.
|
|
52
52
|
|
|
53
53
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
54
|
+
|
|
55
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
54
56
|
1. List available skills (subdirectories)
|
|
55
57
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
56
58
|
3. Load specific `rules/*.md` files as needed during implementation
|
package/agents/gsd-ui-auditor.md
CHANGED
|
@@ -49,6 +49,8 @@ Before auditing, discover project context:
|
|
|
49
49
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines.
|
|
50
50
|
|
|
51
51
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
52
|
+
|
|
53
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
52
54
|
1. List available skills (subdirectories)
|
|
53
55
|
2. Read `SKILL.md` for each skill
|
|
54
56
|
3. Do NOT load full `AGENTS.md` files (100KB+ context cost)
|
package/agents/gsd-ui-checker.md
CHANGED
|
@@ -30,6 +30,8 @@ Before verifying, discover project context:
|
|
|
30
30
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
31
31
|
|
|
32
32
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
33
|
+
|
|
34
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
33
35
|
1. List available skills (subdirectories)
|
|
34
36
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
35
37
|
3. Load specific `rules/*.md` files as needed during verification
|
|
@@ -39,6 +39,8 @@ Before researching, discover project context:
|
|
|
39
39
|
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
|
|
40
40
|
|
|
41
41
|
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists:
|
|
42
|
+
|
|
43
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
42
44
|
1. List available skills (subdirectories)
|
|
43
45
|
2. Read `SKILL.md` for each skill (lightweight index ~130 lines)
|
|
44
46
|
3. Load specific `rules/*.md` files as needed during research
|
package/agents/gsd-verifier.md
CHANGED
|
@@ -52,14 +52,16 @@ Before verifying, discover project context:
|
|
|
52
52
|
**Project skills:** @~/.claude/gsd-core/references/project-skills-discovery.md
|
|
53
53
|
- Load `rules/*.md` as needed during **verification**.
|
|
54
54
|
- Apply skill rules when scanning for anti-patterns and verifying quality.
|
|
55
|
+
|
|
56
|
+
**agent_skills:** self-load per @~/.claude/gsd-core/references/agent-skills-bootstrap.md
|
|
55
57
|
</project_context>
|
|
56
58
|
|
|
57
59
|
<core_principle>
|
|
58
60
|
**Task completion ≠ Goal achievement**
|
|
59
61
|
|
|
60
|
-
A
|
|
62
|
+
A "create chat component" task can be complete with a placeholder file — task done, goal "working chat interface" missed.
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
Start from the outcome and work backwards:
|
|
63
65
|
|
|
64
66
|
1. What must be TRUE for the goal to be achieved?
|
|
65
67
|
2. What must EXIST for those truths to hold?
|
|
@@ -197,6 +199,7 @@ For each truth:
|
|
|
197
199
|
- A pre-existing test exercises the transition/invariant and passes (confirm via Step 7b's single-named-test path) → ✓ VERIFIED.
|
|
198
200
|
- No such test exists, or it can't run without a server/state mutation → ⚠️ PRESENT_BEHAVIOR_UNVERIFIED. Emit a human-verification item (Step 8) and do not count it toward the verified score (Step 9).
|
|
199
201
|
- An accepted override (Step 3b) carries the truth as PASSED (override), exactly as it does for a FAILED truth.
|
|
202
|
+
5b. **Non-inferable (`backstop`) truths:** a `verification: backstop` truth (via `truthVerification()`) abstains unless confirmed by explicit evidence — mark `insufficient_spec` -> a human-verification item -> `human_needed`. See `references/honest-verifier.md`.
|
|
200
203
|
6. Determine truth status
|
|
201
204
|
|
|
202
205
|
## Step 3b: Check Verification Overrides
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
/**
|
|
4
|
+
* gsd-mcp-server — companion MCP server bin entry (ADR-1239 Phase C-2 / #1681).
|
|
5
|
+
*
|
|
6
|
+
* Lives at top-level bin/ (alongside install.js) — it is a PACKAGE bin the host
|
|
7
|
+
* spawns via `npx gsd-mcp-server` (or the global bin), NOT a per-runtime
|
|
8
|
+
* artifact copied into a host's config dir. (Placing it under gsd-core/bin/
|
|
9
|
+
* would leak it into every runtime install + break golden parity.)
|
|
10
|
+
*
|
|
11
|
+
* A stdio JSON-RPC 2.0 server exposing GSD interface points 1 (command) + 5
|
|
12
|
+
* (state IO) so any MCP-consuming host (Claude/Codex/OpenCode/VS Code/Gemini/
|
|
13
|
+
* Cursor/Cline/Hermes) can drive GSD with no bespoke plugin. Delegates to the
|
|
14
|
+
* tested server module (gsd-core/bin/lib/mcp-server.cjs runServer). Reads
|
|
15
|
+
* line-delimited JSON-RPC from stdin, writes one response + newline per
|
|
16
|
+
* request, exits cleanly when stdin closes.
|
|
17
|
+
*
|
|
18
|
+
* The protocol logic (handleMessage) + the injectable-stream loop (runServer)
|
|
19
|
+
* are unit-tested in tests/gsd-mcp-server.test.cjs; the process lifecycle
|
|
20
|
+
* (spawn → JSON-RPC → clean exit) in tests/gsd-mcp-server-bin.test.cjs.
|
|
21
|
+
*/
|
|
22
|
+
const { runServer } = require('../gsd-core/bin/lib/mcp-server.cjs');
|
|
23
|
+
|
|
24
|
+
runServer({
|
|
25
|
+
input: process.stdin,
|
|
26
|
+
output: process.stdout,
|
|
27
|
+
ctx: { cwd: process.cwd() },
|
|
28
|
+
}).catch((err) => {
|
|
29
|
+
process.stderr.write(String((err && err.message) || err) + '\n');
|
|
30
|
+
process.exit(1);
|
|
31
|
+
});
|