project-iris 0.0.6
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/README.md +384 -0
- package/dist/bridge/connector-factory.js +27 -0
- package/dist/bridge/connectors/antigravity-connector.js +18 -0
- package/dist/bridge/connectors/cursor-connector.js +31 -0
- package/dist/bridge/connectors/vscode-connector.js +31 -0
- package/dist/bridge/connectors/windsurf-connector.js +23 -0
- package/dist/bridge/filesystem-connector.js +100 -0
- package/dist/bridge/types.js +10 -0
- package/dist/cli.js +30 -0
- package/dist/commands/ask.js +232 -0
- package/dist/commands/bridge.js +259 -0
- package/dist/commands/develop.js +108 -0
- package/dist/commands/doctor.js +102 -0
- package/dist/commands/install.js +57 -0
- package/dist/commands/pack.js +27 -0
- package/dist/commands/phase.js +38 -0
- package/dist/commands/run.js +17 -0
- package/dist/commands/status.js +105 -0
- package/dist/commands/uninstall.js +12 -0
- package/dist/commands/validate.js +87 -0
- package/dist/iris/artifact-checker.js +78 -0
- package/dist/iris/fixer.js +143 -0
- package/dist/iris/guard.js +38 -0
- package/dist/iris/include.js +49 -0
- package/dist/iris/installer.js +269 -0
- package/dist/iris/manifest.js +54 -0
- package/dist/iris/packer.js +303 -0
- package/dist/iris/policy.js +28 -0
- package/dist/iris/report.js +53 -0
- package/dist/iris/resolver.js +63 -0
- package/dist/iris/router.js +114 -0
- package/dist/iris/routes.js +20 -0
- package/dist/iris/run-state.js +143 -0
- package/dist/iris/state.js +85 -0
- package/dist/iris/uninstaller.js +166 -0
- package/dist/iris/validator.js +329 -0
- package/dist/lib.js +96 -0
- package/dist/utils/exit-codes.js +7 -0
- package/dist/workflows/bolt-execution.js +238 -0
- package/dist/workflows/bolt-plan.js +192 -0
- package/dist/workflows/intent-inception.js +188 -0
- package/package.json +41 -0
- package/src/iris_bundle/.iris/aidlc/README.md +16 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-construction-agent.md +35 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-inception-agent.md +30 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-master-agent.md +35 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-operations-agent.md +29 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-construction-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-inception-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-master-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-operations-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/context/context-map.md +25 -0
- package/src/iris_bundle/.iris/aidlc/context/exclusion-rules.md +13 -0
- package/src/iris_bundle/.iris/aidlc/context/load-order.md +25 -0
- package/src/iris_bundle/.iris/aidlc/memory/intent-rules.md +9 -0
- package/src/iris_bundle/.iris/aidlc/memory/log-rules.md +5 -0
- package/src/iris_bundle/.iris/aidlc/memory/memory-bank.yaml +39 -0
- package/src/iris_bundle/.iris/aidlc/memory/unit-rules.md +9 -0
- package/src/iris_bundle/.iris/aidlc/quick-start.md +24 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/implementation.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/refactoring.md +13 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/scaffold-generation.md +15 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/escalation.md +13 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/quality-gates.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/stop-conditions.md +11 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/decomposition.md +23 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/risk-analysis.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/verification.md +21 -0
- package/src/iris_bundle/.iris/aidlc/standards/artifacts-registry.md +38 -0
- package/src/iris_bundle/.iris/aidlc/standards/decision-logging.md +16 -0
- package/src/iris_bundle/.iris/aidlc/standards/doctrine-structure.md +31 -0
- package/src/iris_bundle/.iris/aidlc/standards/documentation-rules.md +15 -0
- package/src/iris_bundle/.iris/aidlc/standards/file-structure.md +21 -0
- package/src/iris_bundle/.iris/aidlc/standards/naming-conventions.md +18 -0
- package/src/iris_bundle/.iris/aidlc/standards/phases-and-gates.md +25 -0
- package/src/iris_bundle/.iris/aidlc/standards/routes-and-routing.md +35 -0
- package/src/iris_bundle/.iris/aidlc/standards/tool-wrappers.md +32 -0
- package/src/iris_bundle/.iris/aidlc/templates/bolt.md +23 -0
- package/src/iris_bundle/.iris/aidlc/templates/doctrine-doc-template.md +33 -0
- package/src/iris_bundle/.iris/aidlc/templates/intent.md +23 -0
- package/src/iris_bundle/.iris/aidlc/templates/log.md +24 -0
- package/src/iris_bundle/.iris/aidlc/templates/review.md +21 -0
- package/src/iris_bundle/.iris/aidlc/templates/unit.md +31 -0
- package/src/iris_bundle/.iris/aidlc/validation/failure-modes.md +16 -0
- package/src/iris_bundle/.iris/aidlc/validation/phase-preconditions.md +21 -0
- package/src/iris_bundle/.iris/aidlc/validation/quality-checklist.md +20 -0
- package/src/iris_bundle/.iris/policy.yaml +27 -0
- package/src/iris_bundle/.iris/routes.yaml +98 -0
- package/src/iris_bundle/.iris/state.yaml +7 -0
- package/src/iris_bundle/.iris/tools/antigravity/.antigravity/knowledge/IRIS.md +6 -0
- package/src/iris_bundle/.iris/tools/antigravity/.antigravity/workflows/iris-construction-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/antigravity/.antigravity/workflows/iris-inception-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/antigravity/.antigravity/workflows/iris-master-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/antigravity/.antigravity/workflows/iris-operations-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/claude.md +9 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/compare-specs.md +203 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-construction-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-inception-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-master-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-operations-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/codex/AGENTS.md +15 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-construction-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-inception-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-master-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-operations-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-construction-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-inception-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-master-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-operations-agent.toml +29 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Exclusion Rules
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Prevent context bloat and leakage.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST NOT load:
|
|
8
|
+
- `node_modules/`, build artifacts, binaries
|
|
9
|
+
- secrets (`.env`, keys, credentials)
|
|
10
|
+
- large generated files unless required for verification
|
|
11
|
+
|
|
12
|
+
## Recovery
|
|
13
|
+
If context is too large, reduce to: intent + unit + relevant code + checklist.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Context Load Order (Canonical)
|
|
2
|
+
|
|
3
|
+
Tools and runners MUST load context in this order:
|
|
4
|
+
|
|
5
|
+
1. IRIS phase doctrine
|
|
6
|
+
- `.iris/aidlc/standards/phases-and-gates.md`
|
|
7
|
+
- `.iris/aidlc/validation/phase-preconditions.md`
|
|
8
|
+
|
|
9
|
+
2. IRIS artifact doctrine
|
|
10
|
+
- `.iris/aidlc/standards/artifacts-registry.md`
|
|
11
|
+
- `.iris/aidlc/memory/memory-bank.yaml`
|
|
12
|
+
- `.iris/aidlc/memory/*-rules.md`
|
|
13
|
+
|
|
14
|
+
3. The requested entrypoint
|
|
15
|
+
- `.iris/aidlc/commands/<command>.md`
|
|
16
|
+
|
|
17
|
+
4. Repo-local project signals (if present)
|
|
18
|
+
- `specs.md`, `README.md`, `package.json`, `tsconfig.json`, relevant `src/**`
|
|
19
|
+
|
|
20
|
+
5. Phase-specific memory-bank artifacts (if present)
|
|
21
|
+
- Inception: `memory-bank/intents/**`
|
|
22
|
+
- Construction: `memory-bank/units/**`, `memory-bank/bolts/**`
|
|
23
|
+
- Operations: `memory-bank/logs/**`, `memory-bank/standards/**`
|
|
24
|
+
|
|
25
|
+
If required artifacts are missing, IRIS MUST stop and request creation using templates.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Intent Rules
|
|
2
|
+
|
|
3
|
+
## Hard Rules
|
|
4
|
+
- Every repo MUST have at least one active intent.
|
|
5
|
+
- Intent MUST include: Problem, Goals, Non-goals, Constraints, Definition of Done.
|
|
6
|
+
- Any intent change MUST be logged.
|
|
7
|
+
|
|
8
|
+
## Quality Gate
|
|
9
|
+
If goals are not measurable, the intent is not ready.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: iris-memory-bank
|
|
2
|
+
version: '1.0'
|
|
3
|
+
root: memory-bank
|
|
4
|
+
folders:
|
|
5
|
+
intents:
|
|
6
|
+
required: true
|
|
7
|
+
description: High-level problems and DoD.
|
|
8
|
+
units:
|
|
9
|
+
required: true
|
|
10
|
+
description: Work units with acceptance + approvals.
|
|
11
|
+
bolts:
|
|
12
|
+
required: true
|
|
13
|
+
description: Implementation briefs linked to units.
|
|
14
|
+
standards:
|
|
15
|
+
required: true
|
|
16
|
+
description: Project-local standards (cannot contradict doctrine).
|
|
17
|
+
logs:
|
|
18
|
+
required: true
|
|
19
|
+
description: Decisions, reviews, incidents (append-only).
|
|
20
|
+
naming:
|
|
21
|
+
style: kebab-case
|
|
22
|
+
log_prefix: YYYY-MM-DD__
|
|
23
|
+
status_values:
|
|
24
|
+
- Draft
|
|
25
|
+
- Approved
|
|
26
|
+
- In Progress
|
|
27
|
+
- Done
|
|
28
|
+
- Archived
|
|
29
|
+
minimum_required_by_phase:
|
|
30
|
+
Inception:
|
|
31
|
+
- intents/<intent>.md (Approved)
|
|
32
|
+
- units/<unit>/unit.md (Approved)
|
|
33
|
+
- logs/<date>__inception-kickoff.md
|
|
34
|
+
Construction:
|
|
35
|
+
- units/<unit>/unit.md (Approved)
|
|
36
|
+
- bolts/<unit>/<bolt>/bolt.md (Ready)
|
|
37
|
+
- logs/<date>__construction-start.md
|
|
38
|
+
Operations:
|
|
39
|
+
- logs/<date>__ops-handover.md
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Unit Rules
|
|
2
|
+
|
|
3
|
+
## Hard Rules
|
|
4
|
+
- Units MUST be testable and scoped.
|
|
5
|
+
- Units MUST include: Scope, Acceptance, Test Plan, Risks, Rollback.
|
|
6
|
+
- Construction MUST reference an approved unit.
|
|
7
|
+
|
|
8
|
+
## Approval
|
|
9
|
+
A unit is approved when `Status: Approved` is set and an approval log exists.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Quick Start (IRIS Doctrine)
|
|
2
|
+
|
|
3
|
+
## 1) Create the canonical memory bank (repo root)
|
|
4
|
+
```
|
|
5
|
+
memory-bank/
|
|
6
|
+
intents/
|
|
7
|
+
units/
|
|
8
|
+
bolts/
|
|
9
|
+
standards/
|
|
10
|
+
logs/
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 2) Work in phases
|
|
14
|
+
- **Inception** → define & approve intent + units
|
|
15
|
+
- **Construction** → implement approved units/bolts with evidence
|
|
16
|
+
- **Operations** → maintain, monitor, respond, stabilize
|
|
17
|
+
|
|
18
|
+
## 3) Use templates
|
|
19
|
+
Templates live in `.iris/aidlc/templates/`. Create artifacts in `memory-bank/`.
|
|
20
|
+
|
|
21
|
+
## 4) Gate everything
|
|
22
|
+
Before changing phases, validate with:
|
|
23
|
+
- `.iris/aidlc/validation/phase-preconditions.md`
|
|
24
|
+
- `.iris/aidlc/validation/quality-checklist.md`
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Skill: Implementation
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Implement bolts against approved units with traceable verification.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST stay within unit scope.
|
|
8
|
+
- MUST run verification per unit test plan.
|
|
9
|
+
- MUST log significant decisions.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Read unit + bolt.
|
|
13
|
+
2. Implement smallest change set.
|
|
14
|
+
3. Verify and record evidence.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Skill: Refactoring
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Improve internal quality without changing behavior unless approved.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST NOT change behavior without updating intent/unit.
|
|
8
|
+
- MUST re-run tests.
|
|
9
|
+
|
|
10
|
+
## Procedure
|
|
11
|
+
1. Define invariants.
|
|
12
|
+
2. Refactor in small steps.
|
|
13
|
+
3. Verify after each step.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Skill: Scaffold Generation
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Create minimal structure required by the unit.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST create only what the unit requires.
|
|
8
|
+
- MUST NOT create speculative modules.
|
|
9
|
+
- MUST keep changes reviewable.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Identify required modules and interfaces.
|
|
13
|
+
2. Generate minimal files.
|
|
14
|
+
3. Ensure it builds/runs (if applicable).
|
|
15
|
+
4. Record created paths in the unit.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Skill: Escalation
|
|
2
|
+
|
|
3
|
+
## Hard Rules
|
|
4
|
+
Escalate to Master Agent when:
|
|
5
|
+
- artifacts conflict
|
|
6
|
+
- a phase transition is requested without prerequisites
|
|
7
|
+
- an architectural decision is required
|
|
8
|
+
|
|
9
|
+
## Procedure
|
|
10
|
+
1. Summarize conflict.
|
|
11
|
+
2. Provide options + tradeoffs.
|
|
12
|
+
3. Request explicit decision.
|
|
13
|
+
4. Log outcome.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Skill: Quality Gates
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Fail-closed quality enforcement.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST fail closed: missing evidence = gate failed.
|
|
8
|
+
- MUST record pass/fail in a review/log.
|
|
9
|
+
- MUST NOT proceed after a failed gate.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Run checklist.
|
|
13
|
+
2. Verify artifacts exist.
|
|
14
|
+
3. Record results + evidence.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Skill: Stop Conditions
|
|
2
|
+
|
|
3
|
+
## Hard Rules
|
|
4
|
+
An agent MUST stop if:
|
|
5
|
+
- required artifacts are missing
|
|
6
|
+
- acceptance criteria are not testable
|
|
7
|
+
- approvals are missing
|
|
8
|
+
- a policy violation is detected
|
|
9
|
+
|
|
10
|
+
## Recovery
|
|
11
|
+
Create missing artifacts using templates, then continue.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Skill: Decomposition
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Turn intent into units/bolts that can be executed and verified.
|
|
5
|
+
|
|
6
|
+
## Inputs
|
|
7
|
+
- Approved intent
|
|
8
|
+
- Constraints and existing context
|
|
9
|
+
|
|
10
|
+
## Outputs
|
|
11
|
+
- Units (`memory-bank/units/<unit>/unit.md`)
|
|
12
|
+
- Bolts (`memory-bank/bolts/<unit>/<bolt>/bolt.md`) as needed
|
|
13
|
+
|
|
14
|
+
## Hard Rules
|
|
15
|
+
- MUST produce measurable acceptance criteria.
|
|
16
|
+
- MUST keep units verifiable in one cycle.
|
|
17
|
+
- MUST log decomposition decisions.
|
|
18
|
+
|
|
19
|
+
## Procedure
|
|
20
|
+
1. Extract goals/constraints from intent.
|
|
21
|
+
2. Define units as independently testable deliverables.
|
|
22
|
+
3. Create bolts for implementation slices if helpful.
|
|
23
|
+
4. Record decisions in logs.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Skill: Risk Analysis
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Identify risks and define mitigations/rollback.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- MUST add rollback for risky changes.
|
|
8
|
+
- MUST log architecture risks.
|
|
9
|
+
|
|
10
|
+
## Procedure
|
|
11
|
+
1. Identify failure modes.
|
|
12
|
+
2. Add mitigations.
|
|
13
|
+
3. Add rollback.
|
|
14
|
+
4. Log major risks.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Skill: Verification
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Prove changes with evidence.
|
|
5
|
+
|
|
6
|
+
## Inputs
|
|
7
|
+
- Unit acceptance criteria + test plan
|
|
8
|
+
- Code changes
|
|
9
|
+
|
|
10
|
+
## Outputs
|
|
11
|
+
- Evidence recorded in review/log artifacts
|
|
12
|
+
|
|
13
|
+
## Hard Rules
|
|
14
|
+
- MUST run specified tests or explicitly update the unit to define them.
|
|
15
|
+
- MUST record evidence.
|
|
16
|
+
- MUST NOT claim “verified” without evidence.
|
|
17
|
+
|
|
18
|
+
## Procedure
|
|
19
|
+
1. Run tests.
|
|
20
|
+
2. Capture outputs.
|
|
21
|
+
3. Record in review.md or log.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Artifacts Registry (Canonical)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define IRIS artifacts and their authoritative locations.
|
|
5
|
+
|
|
6
|
+
## Artifacts
|
|
7
|
+
### Intent
|
|
8
|
+
- Path: `memory-bank/intents/<intent-slug>.md`
|
|
9
|
+
- Template: `.iris/aidlc/templates/intent.md`
|
|
10
|
+
- Owner: Inception Agent
|
|
11
|
+
- Lifecycle: Draft → Approved → Archived
|
|
12
|
+
|
|
13
|
+
### Unit
|
|
14
|
+
- Path: `memory-bank/units/<unit-slug>/unit.md`
|
|
15
|
+
- Template: `.iris/aidlc/templates/unit.md`
|
|
16
|
+
- Owner: Inception (create/approve), Construction (execute)
|
|
17
|
+
- Lifecycle: Draft → Approved → In Progress → Done
|
|
18
|
+
|
|
19
|
+
### Bolt
|
|
20
|
+
- Path: `memory-bank/bolts/<unit-slug>/<bolt-slug>/bolt.md`
|
|
21
|
+
- Template: `.iris/aidlc/templates/bolt.md`
|
|
22
|
+
- Owner: Construction
|
|
23
|
+
- Lifecycle: Draft → Ready → Executed → Verified
|
|
24
|
+
|
|
25
|
+
### Log
|
|
26
|
+
- Path: `memory-bank/logs/YYYY-MM-DD__<topic>.md`
|
|
27
|
+
- Template: `.iris/aidlc/templates/log.md`
|
|
28
|
+
- Owner: All agents
|
|
29
|
+
- Lifecycle: Immutable (append via new logs)
|
|
30
|
+
|
|
31
|
+
### Review
|
|
32
|
+
- Path: `memory-bank/units/<unit-slug>/review.md` (recommended) or `memory-bank/logs/`
|
|
33
|
+
- Template: `.iris/aidlc/templates/review.md`
|
|
34
|
+
- Owner: Master (or delegated reviewer)
|
|
35
|
+
|
|
36
|
+
## Hard Rules
|
|
37
|
+
- If a phase gate requires an artifact, it MUST exist at the exact path.
|
|
38
|
+
- Artifacts MUST NOT be embedded inside unrelated documents.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Decision Logging Standard
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Prevent silent drift and preserve rationale.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- Any decision with downstream impact MUST be logged in `memory-bank/logs/` using `templates/log.md`.
|
|
8
|
+
- Logs MUST include:
|
|
9
|
+
- context
|
|
10
|
+
- options considered
|
|
11
|
+
- chosen option + rationale
|
|
12
|
+
- tradeoffs/risks
|
|
13
|
+
- next actions
|
|
14
|
+
|
|
15
|
+
## Quality Gate
|
|
16
|
+
If a reviewer cannot explain “why”, the change is incomplete.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Doctrine Structure Standard
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Freeze the IRIS doctrine layout so it remains stable, searchable, and enforceable.
|
|
5
|
+
|
|
6
|
+
## Scope
|
|
7
|
+
- In scope: `.iris/aidlc/**` structure, naming, canonical locations.
|
|
8
|
+
- Out of scope: tool-specific wrappers (kept outside doctrine or mirrored under `.iris/tools/` at repo root).
|
|
9
|
+
|
|
10
|
+
## Hard Rules
|
|
11
|
+
- Top-level directories under `.iris/aidlc/` MUST remain:
|
|
12
|
+
- `agents/`, `commands/`, `skills/`, `standards/`, `templates/`, `context/`, `memory/`, `validation/`
|
|
13
|
+
- New top-level directories MUST NOT be added unless all are updated:
|
|
14
|
+
- this document
|
|
15
|
+
- `standards/file-structure.md`
|
|
16
|
+
- `context/context-map.md`
|
|
17
|
+
- Rules MUST NOT be duplicated across documents:
|
|
18
|
+
- reference `standards/*` instead of re-copying.
|
|
19
|
+
|
|
20
|
+
## Canonical locations
|
|
21
|
+
- Agent definitions: `agents/`
|
|
22
|
+
- Tool entrypoints: `commands/`
|
|
23
|
+
- Procedures/playbooks: `skills/`
|
|
24
|
+
- Governance: `standards/`
|
|
25
|
+
- Templates: `templates/`
|
|
26
|
+
- Context rules: `context/`
|
|
27
|
+
- Memory rules: `memory/`
|
|
28
|
+
- Validation rules: `validation/`
|
|
29
|
+
|
|
30
|
+
## Quality Gate
|
|
31
|
+
Any change to structure MUST include an updated tree and rationale in a decision log.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Documentation Rules
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Make outputs actionable, reviewable, and enforceable.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- Any plan MUST specify:
|
|
8
|
+
- exact file paths it will create/modify
|
|
9
|
+
- acceptance criteria and verification method
|
|
10
|
+
- stop conditions (when to halt for missing inputs)
|
|
11
|
+
- “Done” MUST be measurable.
|
|
12
|
+
- A unit/bolt MUST be small enough to implement and verify in one cycle.
|
|
13
|
+
|
|
14
|
+
## MUST NOT
|
|
15
|
+
- Avoid vague verbs (“handle”, “improve”, “optimize”) without measurable criteria.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# File Structure Standard
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define canonical repo locations used by IRIS.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- IRIS doctrine MUST live at: `.iris/aidlc/`
|
|
8
|
+
- Project memory MUST live at: `memory-bank/`
|
|
9
|
+
- Canonical memory-bank folders MUST exist:
|
|
10
|
+
- `memory-bank/intents/`
|
|
11
|
+
- `memory-bank/units/`
|
|
12
|
+
- `memory-bank/bolts/`
|
|
13
|
+
- `memory-bank/standards/`
|
|
14
|
+
- `memory-bank/logs/`
|
|
15
|
+
|
|
16
|
+
## MUST NOT
|
|
17
|
+
- Do not store project decisions only in chat history.
|
|
18
|
+
- Do not introduce alternate memory roots unless doctrine is updated.
|
|
19
|
+
|
|
20
|
+
## Quality Gate
|
|
21
|
+
A repo is not “IRIS-ready” until the memory-bank exists.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Naming Conventions
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Ensure artifacts are predictable and routable.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- Filenames and folders MUST be `kebab-case`.
|
|
8
|
+
- Agent docs MUST be prefixed with `iris-` and end with `-agent.md`.
|
|
9
|
+
- Commands MUST be prefixed with `iris-` and match the agent name.
|
|
10
|
+
- Logs MUST be prefixed with `YYYY-MM-DD__`.
|
|
11
|
+
|
|
12
|
+
## Recommended patterns
|
|
13
|
+
- Unit folder: `memory-bank/units/<unit-slug>/`
|
|
14
|
+
- Bolt folder: `memory-bank/bolts/<unit-slug>/<bolt-slug>/`
|
|
15
|
+
|
|
16
|
+
## Failure Modes & Recovery
|
|
17
|
+
- Failure: inconsistent naming prevents routing/validation.
|
|
18
|
+
- Recovery: rename to kebab-case and update references.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Phases & Gates
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define SDLC phases and forbid phase skipping.
|
|
5
|
+
|
|
6
|
+
## Phases
|
|
7
|
+
1. **Inception**
|
|
8
|
+
- Output: approved intent + approved units + kickoff log
|
|
9
|
+
2. **Construction**
|
|
10
|
+
- Output: implementation + verification evidence + completion log
|
|
11
|
+
3. **Operations**
|
|
12
|
+
- Output: handover log + incident/runbook logs as needed
|
|
13
|
+
|
|
14
|
+
## Allowed transitions
|
|
15
|
+
- Inception → Construction
|
|
16
|
+
- Construction → Operations
|
|
17
|
+
- Operations → Inception (new intent only)
|
|
18
|
+
|
|
19
|
+
## Hard Rules
|
|
20
|
+
- Construction MUST NOT begin without an approved unit.
|
|
21
|
+
- Operations MUST NOT begin without accepted verification evidence.
|
|
22
|
+
|
|
23
|
+
## Gate authority
|
|
24
|
+
- Master Agent is gatekeeper by default.
|
|
25
|
+
- Delegation is allowed but MUST be logged.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# IRIS Routing Doctrine
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define how IRIS maps user intent to the correct agent command **without ambiguity** and **without hidden heuristics**.
|
|
5
|
+
|
|
6
|
+
## Scope
|
|
7
|
+
This standard governs:
|
|
8
|
+
- `.iris/routes.yaml` format and semantics
|
|
9
|
+
- Required routing metadata (rationale, exclusions, required context)
|
|
10
|
+
- How tools and Navi MUST apply routing
|
|
11
|
+
|
|
12
|
+
## Hard Rules
|
|
13
|
+
- Routing MUST be deterministic: same input → same route selection given same routes file.
|
|
14
|
+
- Routing MUST be explainable: every match MUST include a rationale.
|
|
15
|
+
- Routing MUST include exclusions to prevent false positives.
|
|
16
|
+
- If no route matches with high confidence, IRIS MUST fall back to **iris-master-agent** and request clarification.
|
|
17
|
+
|
|
18
|
+
## Route precedence
|
|
19
|
+
1. Exact phrase matches
|
|
20
|
+
2. Strong keyword matches (all required keywords present)
|
|
21
|
+
3. Weak keyword matches (some keywords present) — only if no strong match exists
|
|
22
|
+
4. Default route: `iris-master-agent`
|
|
23
|
+
|
|
24
|
+
## Output of routing
|
|
25
|
+
A router MUST output:
|
|
26
|
+
- `route_id`
|
|
27
|
+
- selected `command`
|
|
28
|
+
- `why` (the route rationale)
|
|
29
|
+
- `missing_context` (if required context is absent)
|
|
30
|
+
- suggested next action (which artifact to create first)
|
|
31
|
+
|
|
32
|
+
## Anti-patterns
|
|
33
|
+
- DO NOT route directly to Construction when Inception artifacts are missing.
|
|
34
|
+
- DO NOT route to Operations for requests that change scope/architecture.
|
|
35
|
+
- DO NOT invent routes at runtime; update `.iris/routes.yaml` instead.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Tool Wrapper Doctrine
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Ensure tool-specific command wrappers (Claude/Cursor/Gemini/Antigravity/Codex) invoke IRIS consistently.
|
|
5
|
+
|
|
6
|
+
## Hard Rules
|
|
7
|
+
- Tool wrappers MUST be thin: they MUST NOT redefine doctrine. They MUST reference `.iris/aidlc/**`.
|
|
8
|
+
- Tool wrappers MUST instruct the tool to load:
|
|
9
|
+
1) the requested IRIS command entrypoint
|
|
10
|
+
2) the minimum required memory-bank artifacts for that phase
|
|
11
|
+
3) any repo-local constraints (e.g., `specs.md`, `README.md`, `package.json` if present)
|
|
12
|
+
- Tool wrappers MUST forbid destructive operations unless explicitly requested.
|
|
13
|
+
- Tool wrappers MUST require the agent to produce artifacts into `memory-bank/` using IRIS templates.
|
|
14
|
+
|
|
15
|
+
## Minimum context set
|
|
16
|
+
All wrappers MUST load:
|
|
17
|
+
- `.iris/aidlc/context/load-order.md`
|
|
18
|
+
- `.iris/aidlc/standards/phases-and-gates.md`
|
|
19
|
+
- `.iris/aidlc/standards/artifacts-registry.md`
|
|
20
|
+
- `.iris/aidlc/validation/phase-preconditions.md`
|
|
21
|
+
|
|
22
|
+
Plus phase-specific memory-bank files:
|
|
23
|
+
- Inception: `memory-bank/intents/*`
|
|
24
|
+
- Construction: `memory-bank/units/*`, `memory-bank/bolts/*`
|
|
25
|
+
- Operations: `memory-bank/logs/*`, `memory-bank/standards/*`
|
|
26
|
+
|
|
27
|
+
## Wrapper content requirements
|
|
28
|
+
Each wrapper MUST include:
|
|
29
|
+
- What the command does
|
|
30
|
+
- What inputs it needs
|
|
31
|
+
- What files it MUST write/update
|
|
32
|
+
- Stop conditions
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Bolt: <title>
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Draft | Ready | Executed | Verified
|
|
5
|
+
|
|
6
|
+
## Objective
|
|
7
|
+
<one sentence>
|
|
8
|
+
|
|
9
|
+
## Preconditions
|
|
10
|
+
- Approved unit: `memory-bank/units/<unit>/unit.md`
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
1.
|
|
14
|
+
2.
|
|
15
|
+
|
|
16
|
+
## Files to Change
|
|
17
|
+
- <path>
|
|
18
|
+
|
|
19
|
+
## Verification
|
|
20
|
+
- Commands:
|
|
21
|
+
- `<command>`
|
|
22
|
+
- Evidence location:
|
|
23
|
+
- `memory-bank/units/<unit>/review.md` or `memory-bank/logs/...`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# <Title>
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
<One sentence: why this exists.>
|
|
5
|
+
|
|
6
|
+
## Scope
|
|
7
|
+
- In scope:
|
|
8
|
+
- Out of scope:
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
- <required inputs + locations>
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
- <guaranteed outputs + locations>
|
|
15
|
+
|
|
16
|
+
## Hard Rules
|
|
17
|
+
- MUST:
|
|
18
|
+
- MUST NOT:
|
|
19
|
+
- SHOULD (only if necessary):
|
|
20
|
+
|
|
21
|
+
## Procedure
|
|
22
|
+
1.
|
|
23
|
+
2.
|
|
24
|
+
3.
|
|
25
|
+
|
|
26
|
+
## Quality Gates
|
|
27
|
+
- Gate 1:
|
|
28
|
+
- Gate 2:
|
|
29
|
+
|
|
30
|
+
## Failure Modes & Recovery
|
|
31
|
+
- Failure:
|
|
32
|
+
- Symptom:
|
|
33
|
+
- Recovery:
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Intent: <title>
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
Draft | Approved | Archived
|
|
5
|
+
|
|
6
|
+
## Problem
|
|
7
|
+
<What is broken or missing?>
|
|
8
|
+
|
|
9
|
+
## Goals
|
|
10
|
+
- [ ] <measurable goal>
|
|
11
|
+
|
|
12
|
+
## Non-goals
|
|
13
|
+
- <explicit exclusions>
|
|
14
|
+
|
|
15
|
+
## Constraints
|
|
16
|
+
- <time/tech/policy>
|
|
17
|
+
|
|
18
|
+
## Definition of Done
|
|
19
|
+
- [ ] <observable criteria>
|
|
20
|
+
- Verification: <how to verify>
|
|
21
|
+
|
|
22
|
+
## Notes
|
|
23
|
+
<links to units/logs>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Log: <topic>
|
|
2
|
+
|
|
3
|
+
## Date
|
|
4
|
+
YYYY-MM-DD
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
<what triggered this?>
|
|
8
|
+
|
|
9
|
+
## Decision / Event
|
|
10
|
+
<what happened?>
|
|
11
|
+
|
|
12
|
+
## Options Considered
|
|
13
|
+
- A:
|
|
14
|
+
- B:
|
|
15
|
+
|
|
16
|
+
## Outcome
|
|
17
|
+
<chosen action + result>
|
|
18
|
+
|
|
19
|
+
## Tradeoffs / Risks
|
|
20
|
+
- <tradeoff>
|
|
21
|
+
- <risk>
|
|
22
|
+
|
|
23
|
+
## Next Actions
|
|
24
|
+
- [ ] <action>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Review: <unit/bolt>
|
|
2
|
+
|
|
3
|
+
## Gate
|
|
4
|
+
Inception | Construction | Operations
|
|
5
|
+
|
|
6
|
+
## Checklist
|
|
7
|
+
- [ ] Acceptance criteria met
|
|
8
|
+
- [ ] Tests executed
|
|
9
|
+
- [ ] Evidence recorded
|
|
10
|
+
- [ ] Logs recorded
|
|
11
|
+
- [ ] Rollback documented (if applicable)
|
|
12
|
+
|
|
13
|
+
## Evidence
|
|
14
|
+
- Unit: `memory-bank/units/<unit>/unit.md`
|
|
15
|
+
- Logs: `memory-bank/logs/...`
|
|
16
|
+
- Test output: <snippet/link>
|
|
17
|
+
|
|
18
|
+
## Decision
|
|
19
|
+
Accepted | Rejected
|
|
20
|
+
|
|
21
|
+
## Notes
|