mcp tuning
This commit is contained in:
@@ -28,12 +28,13 @@ You **MUST** consider the user input before proceeding (if not empty).
|
||||
- Fill Technical Context (mark unknowns as "NEEDS CLARIFICATION")
|
||||
- Fill Constitution Check section from constitution
|
||||
- Evaluate gates (ERROR if violations unjustified)
|
||||
- Phase 0: Generate research.md (resolve all NEEDS CLARIFICATION)
|
||||
- Phase 1: Generate data-model.md, contracts/, quickstart.md
|
||||
- Phase 0: Generate `research.md` (resolve all NEEDS CLARIFICATION)
|
||||
- Phase 1: Generate `data-model.md`, `contracts/`, `quickstart.md`
|
||||
- Phase 1: Generate global ADR artifacts and connect them to the plan
|
||||
- Phase 1: Update agent context by running the agent script
|
||||
- Re-evaluate Constitution Check post-design
|
||||
|
||||
4. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.
|
||||
4. **Stop and report**: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, generated artifacts, and ADR decisions created.
|
||||
|
||||
## Phases
|
||||
|
||||
@@ -58,9 +59,9 @@ You **MUST** consider the user input before proceeding (if not empty).
|
||||
- Rationale: [why chosen]
|
||||
- Alternatives considered: [what else evaluated]
|
||||
|
||||
**Output**: research.md with all NEEDS CLARIFICATION resolved
|
||||
**Output**: `research.md` with all NEEDS CLARIFICATION resolved
|
||||
|
||||
### Phase 1: Design & Contracts
|
||||
### Phase 1: Design, ADRs & Contracts
|
||||
|
||||
**Prerequisites:** `research.md` complete
|
||||
|
||||
@@ -72,7 +73,23 @@ You **MUST** consider the user input before proceeding (if not empty).
|
||||
1. **Extract entities from feature spec** → `data-model.md`:
|
||||
- Entity name, fields, relationships, validation rules.
|
||||
|
||||
2. **Design & Verify Contracts (Semantic Protocol)**:
|
||||
2. **Generate Global ADRs (Decision Memory Root Layer)**:
|
||||
- Read `spec.md`, `research.md`, and the technical context to identify repo-shaping decisions: storage, auth pattern, framework boundaries, integration patterns, deployment assumptions, failure strategy.
|
||||
- For each durable architectural choice, emit a standalone semantic ADR block using `[DEF:DecisionId:ADR]`.
|
||||
- Every ADR block MUST include:
|
||||
- `@COMPLEXITY: 3` or `4` depending on blast radius
|
||||
- `@PURPOSE`
|
||||
- `@RATIONALE`
|
||||
- `@REJECTED`
|
||||
- `@RELATION` back to the originating spec/research/plan boundary or target module family
|
||||
- Preferred destinations:
|
||||
- `docs/architecture.md` for cross-cutting repository decisions
|
||||
- feature-local design docs when the decision is feature-scoped
|
||||
- root module headers only when the decision scope is truly local
|
||||
- **Hard Gate**: do not continue to task decomposition until the blocking global decisions have been materialized as ADR nodes.
|
||||
- **Anti-Regression Goal**: a later orchestrator must be able to read these ADRs and avoid creating tasks for rejected branches.
|
||||
|
||||
3. **Design & Verify Contracts (Semantic Protocol)**:
|
||||
- **Drafting**: Define semantic headers, metadata, and closing anchors for all new modules strictly from `.ai/standards/semantics.md`.
|
||||
- **Complexity Classification**: Classify each contract with `@COMPLEXITY: [1|2|3|4|5]` or `@C:`. Treat `@TIER` only as a legacy compatibility hint and never as the primary rule source.
|
||||
- **Adaptive Contract Requirements**:
|
||||
@@ -81,34 +98,42 @@ You **MUST** consider the user input before proceeding (if not empty).
|
||||
- **Complexity 3**: require `@PURPOSE` and `@RELATION`; UI also requires `@UX_STATE`.
|
||||
- **Complexity 4**: require `@PURPOSE`, `@RELATION`, `@PRE`, `@POST`, `@SIDE_EFFECT`; Python modules must define a meaningful `logger.reason()` / `logger.reflect()` path or equivalent belief-state mechanism.
|
||||
- **Complexity 5**: require full level-4 contract plus `@DATA_CONTRACT` and `@INVARIANT`; Python modules must require `belief_scope`; UI modules must define UX contracts including `@UX_STATE`, `@UX_FEEDBACK`, `@UX_RECOVERY`, and `@UX_REACTIVITY`.
|
||||
- **Decision-Memory Propagation**:
|
||||
- If a module/function/component realizes or is constrained by an ADR, add local `@RATIONALE` and `@REJECTED` guardrails before coding begins.
|
||||
- Use `@RELATION: IMPLEMENTS ->[AdrId]` when the contract realizes the ADR.
|
||||
- Use `@RELATION: DEPENDS_ON ->[AdrId]` when the contract is merely constrained by the ADR.
|
||||
- Record known LLM traps directly in the contract header so the implementer inherits the guardrail from the start.
|
||||
- **Relation Syntax**: Write dependency edges in canonical GraphRAG form: `@RELATION: [PREDICATE] ->[TARGET_ID]`.
|
||||
- **Context Guard**: If a target relation, DTO, or required dependency cannot be named confidently, stop generation and emit `[NEED_CONTEXT: target]` instead of inventing placeholders.
|
||||
- **Context Guard**: If a target relation, DTO, required dependency, or decision rationale cannot be named confidently, stop generation and emit `[NEED_CONTEXT: target]` instead of inventing placeholders.
|
||||
- **Testing Contracts**: Add `@TEST_CONTRACT`, `@TEST_SCENARIO`, `@TEST_FIXTURE`, `@TEST_EDGE`, and `@TEST_INVARIANT` when the design introduces audit-critical or explicitly test-governed contracts, especially for Complexity 5 boundaries.
|
||||
- **Self-Review**:
|
||||
- *Complexity Fit*: Does each contract include exactly the metadata and contract density required by its complexity level?
|
||||
- *Completeness*: Do `@PRE`/`@POST`, `@SIDE_EFFECT`, `@DATA_CONTRACT`, and UX tags cover the edge cases identified in Research and UX Reference?
|
||||
- *Completeness*: Do `@PRE`/`@POST`, `@SIDE_EFFECT`, `@DATA_CONTRACT`, UX tags, and decision-memory tags cover the edge cases identified in Research and UX Reference?
|
||||
- *Connectivity*: Do `@RELATION` tags form a coherent graph using canonical `@RELATION: [PREDICATE] ->[TARGET_ID]` syntax?
|
||||
- *Compliance*: Are all anchors properly opened and closed, and does the chosen comment syntax match the target medium?
|
||||
- *Belief-State Requirements*: Do Complexity 4/5 Python modules explicitly account for `logger.reason()`, `logger.reflect()`, and `belief_scope` requirements?
|
||||
- *ADR Continuity*: Does every blocking architectural decision have a corresponding ADR node and at least one downstream guarded contract?
|
||||
- **Output**: Write verified contracts to `contracts/modules.md`.
|
||||
|
||||
3. **Simulate Contract Usage**:
|
||||
4. **Simulate Contract Usage**:
|
||||
- Trace one key user scenario through the defined contracts to ensure data flow continuity.
|
||||
- If a contract interface mismatch is found, fix it immediately.
|
||||
- Verify that no traced path accidentally realizes an alternative already named in any ADR `@REJECTED` tag.
|
||||
|
||||
4. **Generate API contracts**:
|
||||
5. **Generate API contracts**:
|
||||
- Output OpenAPI/GraphQL schema to `/contracts/` for backend-frontend sync.
|
||||
|
||||
5. **Agent context update**:
|
||||
6. **Agent context update**:
|
||||
- Run `.specify/scripts/bash/update-agent-context.sh kilocode`
|
||||
- These scripts detect which AI agent is in use
|
||||
- Update the appropriate agent-specific context file
|
||||
- Add only new technology from current plan
|
||||
- Preserve manual additions between markers
|
||||
|
||||
**Output**: data-model.md, /contracts/*, quickstart.md, agent-specific file
|
||||
**Output**: `data-model.md`, `/contracts/*`, `quickstart.md`, ADR artifact(s), agent-specific file
|
||||
|
||||
## Key rules
|
||||
|
||||
- Use absolute paths
|
||||
- ERROR on gate failures or unresolved clarifications
|
||||
- Do not hand off to [`speckit.tasks`](.kilocode/workflows/speckit.tasks.md) until blocking ADRs exist and rejected branches are explicit
|
||||
|
||||
Reference in New Issue
Block a user