project-iris 0.0.7 → 0.0.11

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.
Files changed (125) hide show
  1. package/README.md +294 -264
  2. package/dist/bridge/agent-runner.js +190 -0
  3. package/dist/bridge/connector-factory.js +4 -0
  4. package/dist/bridge/connectors/in-process-connector.js +29 -0
  5. package/dist/bridge/filesystem-connector.js +5 -0
  6. package/dist/cli.js +10 -2
  7. package/dist/commands/ask.js +150 -23
  8. package/dist/commands/bridge.js +8 -0
  9. package/dist/commands/flow.js +301 -0
  10. package/dist/commands/framework.js +273 -0
  11. package/dist/commands/generate.js +59 -0
  12. package/dist/commands/install.js +72 -29
  13. package/dist/commands/pack.js +7 -1
  14. package/dist/commands/run.js +195 -13
  15. package/dist/commands/status.js +9 -0
  16. package/dist/commands/uninstall.js +3 -1
  17. package/dist/commands/use.js +20 -0
  18. package/dist/commands/validate.js +80 -65
  19. package/dist/framework/framework-loader.js +97 -0
  20. package/dist/framework/framework-paths.js +48 -0
  21. package/dist/framework/framework-types.js +15 -0
  22. package/dist/iris/artifacts/config.js +68 -0
  23. package/dist/iris/artifacts/generator.js +88 -0
  24. package/dist/iris/artifacts/types.js +1 -0
  25. package/dist/iris/bundle.js +44 -0
  26. package/dist/iris/doctrine/collector.js +124 -0
  27. package/dist/iris/fixer.js +28 -22
  28. package/dist/iris/flows/manifest.js +124 -0
  29. package/dist/iris/framework-context.js +49 -0
  30. package/dist/iris/framework-manager.js +215 -0
  31. package/dist/iris/fs/atomic.js +22 -0
  32. package/dist/iris/importers/index.js +9 -0
  33. package/dist/iris/importers/types.js +8 -0
  34. package/dist/iris/importers/writer.js +139 -0
  35. package/dist/iris/installer.js +105 -40
  36. package/dist/iris/interactive/env.js +21 -0
  37. package/dist/iris/interactive/intent-interview.js +345 -0
  38. package/dist/iris/interactive/intent-schema.js +28 -0
  39. package/dist/iris/interactive/interview-io.js +22 -0
  40. package/dist/iris/interview/config.js +71 -0
  41. package/dist/iris/interview/types.js +16 -0
  42. package/dist/iris/interview/utils.js +38 -0
  43. package/dist/iris/packer.js +69 -47
  44. package/dist/iris/parsers/unit-parser.js +43 -0
  45. package/dist/iris/paths.js +18 -0
  46. package/dist/iris/policy.js +122 -17
  47. package/dist/iris/proc.js +56 -0
  48. package/dist/iris/resolver.js +3 -0
  49. package/dist/iris/routes.js +180 -11
  50. package/dist/iris/run-state.js +3 -0
  51. package/dist/iris/state.js +37 -9
  52. package/dist/iris/templates.js +70 -0
  53. package/dist/iris/tmp.js +24 -0
  54. package/dist/iris/uninstaller.js +24 -9
  55. package/dist/iris/utils/interpolate.js +42 -0
  56. package/dist/iris/validator.js +72 -10
  57. package/dist/iris/workflow/config.js +51 -0
  58. package/dist/iris/workflow/engine.js +129 -0
  59. package/dist/iris/workflow/steps.js +448 -0
  60. package/dist/iris/workflow/types.js +1 -0
  61. package/dist/utils/logo.js +17 -0
  62. package/dist/workflows/intent-inception.js +87 -65
  63. package/package.json +8 -6
  64. package/src/iris_bundle/.iris/aidlc/README.md +0 -16
  65. package/src/iris_bundle/.iris/aidlc/agents/iris-construction-agent.md +0 -35
  66. package/src/iris_bundle/.iris/aidlc/agents/iris-inception-agent.md +0 -30
  67. package/src/iris_bundle/.iris/aidlc/agents/iris-master-agent.md +0 -35
  68. package/src/iris_bundle/.iris/aidlc/agents/iris-operations-agent.md +0 -29
  69. package/src/iris_bundle/.iris/aidlc/commands/iris-construction-agent.md +0 -18
  70. package/src/iris_bundle/.iris/aidlc/commands/iris-inception-agent.md +0 -18
  71. package/src/iris_bundle/.iris/aidlc/commands/iris-master-agent.md +0 -18
  72. package/src/iris_bundle/.iris/aidlc/commands/iris-operations-agent.md +0 -18
  73. package/src/iris_bundle/.iris/aidlc/context/context-map.md +0 -25
  74. package/src/iris_bundle/.iris/aidlc/context/exclusion-rules.md +0 -13
  75. package/src/iris_bundle/.iris/aidlc/context/load-order.md +0 -25
  76. package/src/iris_bundle/.iris/aidlc/memory/intent-rules.md +0 -9
  77. package/src/iris_bundle/.iris/aidlc/memory/log-rules.md +0 -5
  78. package/src/iris_bundle/.iris/aidlc/memory/memory-bank.yaml +0 -39
  79. package/src/iris_bundle/.iris/aidlc/memory/unit-rules.md +0 -9
  80. package/src/iris_bundle/.iris/aidlc/quick-start.md +0 -24
  81. package/src/iris_bundle/.iris/aidlc/skills/execution/implementation.md +0 -14
  82. package/src/iris_bundle/.iris/aidlc/skills/execution/refactoring.md +0 -13
  83. package/src/iris_bundle/.iris/aidlc/skills/execution/scaffold-generation.md +0 -15
  84. package/src/iris_bundle/.iris/aidlc/skills/governance/escalation.md +0 -13
  85. package/src/iris_bundle/.iris/aidlc/skills/governance/quality-gates.md +0 -14
  86. package/src/iris_bundle/.iris/aidlc/skills/governance/stop-conditions.md +0 -11
  87. package/src/iris_bundle/.iris/aidlc/skills/reasoning/decomposition.md +0 -23
  88. package/src/iris_bundle/.iris/aidlc/skills/reasoning/risk-analysis.md +0 -14
  89. package/src/iris_bundle/.iris/aidlc/skills/reasoning/verification.md +0 -21
  90. package/src/iris_bundle/.iris/aidlc/standards/artifacts-registry.md +0 -38
  91. package/src/iris_bundle/.iris/aidlc/standards/decision-logging.md +0 -16
  92. package/src/iris_bundle/.iris/aidlc/standards/doctrine-structure.md +0 -31
  93. package/src/iris_bundle/.iris/aidlc/standards/documentation-rules.md +0 -15
  94. package/src/iris_bundle/.iris/aidlc/standards/file-structure.md +0 -21
  95. package/src/iris_bundle/.iris/aidlc/standards/naming-conventions.md +0 -18
  96. package/src/iris_bundle/.iris/aidlc/standards/phases-and-gates.md +0 -25
  97. package/src/iris_bundle/.iris/aidlc/standards/routes-and-routing.md +0 -35
  98. package/src/iris_bundle/.iris/aidlc/standards/tool-wrappers.md +0 -32
  99. package/src/iris_bundle/.iris/aidlc/templates/bolt.md +0 -23
  100. package/src/iris_bundle/.iris/aidlc/templates/doctrine-doc-template.md +0 -33
  101. package/src/iris_bundle/.iris/aidlc/templates/intent.md +0 -23
  102. package/src/iris_bundle/.iris/aidlc/templates/log.md +0 -24
  103. package/src/iris_bundle/.iris/aidlc/templates/review.md +0 -21
  104. package/src/iris_bundle/.iris/aidlc/templates/unit.md +0 -31
  105. package/src/iris_bundle/.iris/aidlc/validation/failure-modes.md +0 -16
  106. package/src/iris_bundle/.iris/aidlc/validation/phase-preconditions.md +0 -21
  107. package/src/iris_bundle/.iris/aidlc/validation/quality-checklist.md +0 -20
  108. package/src/iris_bundle/.iris/policy.yaml +0 -27
  109. package/src/iris_bundle/.iris/routes.yaml +0 -98
  110. package/src/iris_bundle/.iris/state.yaml +0 -7
  111. package/src/iris_bundle/.iris/tools/claude/.claude/claude.md +0 -9
  112. package/src/iris_bundle/.iris/tools/claude/.claude/commands/compare-specs.md +0 -203
  113. package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-construction-agent.md +0 -25
  114. package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-inception-agent.md +0 -25
  115. package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-master-agent.md +0 -25
  116. package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-operations-agent.md +0 -25
  117. package/src/iris_bundle/.iris/tools/codex/AGENTS.md +0 -15
  118. package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-construction-agent.md +0 -25
  119. package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-inception-agent.md +0 -25
  120. package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-master-agent.md +0 -25
  121. package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-operations-agent.md +0 -25
  122. package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-construction-agent.toml +0 -29
  123. package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-inception-agent.toml +0 -29
  124. package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-master-agent.toml +0 -29
  125. package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-operations-agent.toml +0 -29
@@ -14,75 +14,97 @@ import { appendEvent, saveRun } from "../iris/run-state.js";
14
14
  export async function executeIntentInception(runState, connector, options) {
15
15
  console.log(kleur.bold("Intent Inception Stage"));
16
16
  console.log(kleur.dim("Clarifying requirements and creating intent artifacts\n"));
17
- // Step 1: Generate clarifying questions
18
- console.log(kleur.cyan("→ Generating clarifying questions..."));
19
- const questionsTaskId = randomUUID();
20
- const questionsPacket = {
21
- taskId: questionsTaskId,
22
- intent: runState.intent,
23
- stage: WorkflowStage.INTENT_INCEPTION,
24
- agent: "iris-inception-agent",
25
- instructions: `Based on the intent "${runState.intent}", generate 3-8 clarifying questions to better understand:
26
- - The problem being solved
27
- - Success criteria
28
- - Scope and constraints
29
- - Technical requirements
30
- - User expectations
31
-
32
- Return the questions as a JSON array of strings in the result message.`,
33
- inputs: [],
34
- expectedOutputs: [],
35
- metadata: { step: "clarifying_questions" }
36
- };
37
- appendEvent(runState.runId, {
38
- stage: WorkflowStage.INTENT_INCEPTION,
39
- action: "Requesting clarifying questions",
40
- taskId: questionsTaskId
41
- });
42
- if (options.noBridge) {
43
- console.log(kleur.yellow(" Bridge disabled. Task packet written to:"));
44
- console.log(kleur.dim(` .iris/bridge/inbox/${questionsTaskId}.json`));
45
- console.log(kleur.dim(" Manually create result in .iris/bridge/outbox/\n"));
46
- return;
47
- }
48
17
  try {
49
- await connector.sendTask(questionsPacket);
50
- console.log(kleur.dim(` Task sent: ${questionsTaskId}`));
51
- console.log(kleur.dim(" Waiting for IDE agent response...\n"));
52
- const questionsResult = await connector.waitResult(questionsTaskId, {
53
- timeoutMs: 300000 // 5 minutes
54
- });
55
- if (questionsResult.status === "error") {
56
- throw new Error(questionsResult.error || "Failed to generate questions");
57
- }
58
- // Parse questions from result
59
- let questions;
60
- try {
61
- questions = JSON.parse(questionsResult.message);
18
+ // Step 1: Clarification Loop (Ping-Pong)
19
+ console.log(kleur.cyan("→ Starting clarification loop..."));
20
+ const history = [];
21
+ let isDone = false;
22
+ let turnCount = 0;
23
+ const MAX_TURNS = 10;
24
+ while (!isDone && turnCount < MAX_TURNS) {
25
+ turnCount++;
26
+ const turnId = randomUUID();
27
+ // Prepare context for the agent
28
+ const contextStr = history.map(h => `Q: ${h.question}\nA: ${h.answer}`).join("\n\n");
29
+ const instructions = `You are an expert product manager refining a user's intent.
30
+ Intent: "${runState.intent}"
31
+
32
+ Current Understanding (Q&A History):
33
+ ${contextStr || "(None yet)"}
34
+
35
+ Task:
36
+ Analyze the intent and history.
37
+ You MUST clarify the following aspects before finishing:
38
+ 1. Target User & Use Case
39
+ 2. Technical Constraints (Language, Frameworks, Database)
40
+ 3. Success Criteria (Specific requirements)
41
+ 4. Non-Goals (What to avoid)
42
+
43
+ Instructions:
44
+ 1. If you have clear answers for ALL the above aspects, return exactly the string "DONE".
45
+ 2. If any aspect is missing or vague, ask the SINGLE most important clarifying question to ask the user next.
46
+
47
+ Return ONLY the question string or "DONE". Do not include JSON or explanation.`;
48
+ const packet = {
49
+ taskId: turnId,
50
+ intent: runState.intent,
51
+ stage: WorkflowStage.INTENT_INCEPTION,
52
+ agent: "iris-inception-agent",
53
+ instructions,
54
+ inputs: [],
55
+ expectedOutputs: [],
56
+ metadata: { step: "clarify_turn", turn: turnCount }
57
+ };
58
+ if (options.noBridge) {
59
+ console.log(kleur.yellow(` [Turn ${turnCount}] Bridge disabled. Write result to .iris/bridge/inbox/${turnId}.json`));
60
+ return; // Cannot proceed in loop without bridge in this mock implementation
61
+ }
62
+ // Inner try/catch for turn resilience
63
+ try {
64
+ await connector.sendTask(packet);
65
+ // Show loading spinner or status?
66
+ const turnResult = await connector.waitResult(turnId, { timeoutMs: 120000 }); // 2 mins per turn
67
+ if (turnResult.status === "error") {
68
+ throw new Error(turnResult.error || "Agent failed to respond");
69
+ }
70
+ const agentResponse = turnResult.message.trim();
71
+ if (agentResponse === "DONE" || agentResponse.includes('"DONE"')) {
72
+ isDone = true;
73
+ console.log(kleur.green("\n✓ Intent clarified. Proceeding to design...\n"));
74
+ }
75
+ else {
76
+ // It's a question
77
+ const question = agentResponse.replace(/^"|"$/g, ""); // strip quotes if present
78
+ console.log(kleur.bold(`\n${question}`));
79
+ const { answer } = await inquirer.prompt([
80
+ {
81
+ type: "input",
82
+ name: "answer",
83
+ message: "Answer:",
84
+ validate: (val) => val.trim().length > 0 || "Please provide an answer"
85
+ }
86
+ ]);
87
+ history.push({ question, answer });
88
+ // Append event for tracking
89
+ appendEvent(runState.runId, {
90
+ stage: WorkflowStage.INTENT_INCEPTION,
91
+ action: "Q&A Turn",
92
+ message: `Q: ${question}\nA: ${answer}`
93
+ });
94
+ }
95
+ }
96
+ catch (e) {
97
+ console.error(kleur.red(`Error in clarification loop: ${e.message}`));
98
+ break; // Exit loop on error to save partial progress
99
+ }
62
100
  }
63
- catch {
64
- // Fallback: treat message as newline-separated questions
65
- questions = questionsResult.message.split("\n").filter(q => q.trim());
101
+ if (history.length > 0) {
102
+ console.log(kleur.dim(`Captured ${history.length} clarification points.`));
66
103
  }
67
- console.log(kleur.green("✓ Questions received\n"));
68
- // Step 2: Prompt user for answers
69
- console.log(kleur.bold("Clarifying Questions:"));
104
+ // Prepare answers object for artifact generation (format match)
70
105
  const answers = {};
71
- for (let i = 0; i < questions.length; i++) {
72
- const { answer } = await inquirer.prompt([
73
- {
74
- type: "input",
75
- name: "answer",
76
- message: `${i + 1}. ${questions[i]}`
77
- }
78
- ]);
79
- answers[questions[i]] = answer;
80
- }
81
- console.log("");
82
- appendEvent(runState.runId, {
83
- stage: WorkflowStage.INTENT_INCEPTION,
84
- action: "User answered clarifying questions",
85
- message: `${questions.length} questions answered`
106
+ history.forEach((h, i) => {
107
+ answers[`${i + 1}. ${h.question}`] = h.answer;
86
108
  });
87
109
  // Step 3: Generate intent artifacts
88
110
  console.log(kleur.cyan("→ Generating intent artifacts..."));
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "project-iris",
3
- "version": "0.0.07",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "iris": "dist/cli.js",
7
7
  "project-iris": "dist/cli.js"
8
8
  },
9
9
  "files": [
10
- "dist/**",
11
- "src/iris_bundle/**"
10
+ "dist/**"
12
11
  ],
13
12
  "scripts": {
14
13
  "build": "tsc -p tsconfig.json",
@@ -21,8 +20,10 @@
21
20
  "link:iris": "npm run build && chmod +x dist/cli.js && npm link && echo '\n✓ iris linked globally' && echo 'Run: iris doctor' && echo 'If iris is not found, add global bin to PATH:' && echo ' export PATH=\"$(npm prefix -g)/bin:$PATH\"'",
22
21
  "unlink:iris": "npm unlink -g && echo '✓ iris unlinked'",
23
22
  "doctor": "npm run iris -- doctor",
24
- "prepublishOnly": "npm run build && node dist/cli.js --help",
25
- "test:smoke": "npm run build && node scripts/smoke-install.js"
23
+ "prepublishOnly": "npm run build",
24
+ "test": "vitest run",
25
+ "test:integration": "vitest run test/integration",
26
+ "test:smoke": "npm run build && vitest run test/smoke --sequence.concurrent false"
26
27
  },
27
28
  "dependencies": {
28
29
  "@types/js-yaml": "^4.0.9",
@@ -37,6 +38,7 @@
37
38
  "@types/inquirer": "^9.0.9",
38
39
  "@types/node": "^22.10.2",
39
40
  "ts-node": "^10.9.2",
40
- "typescript": "^5.6.3"
41
+ "typescript": "^5.6.3",
42
+ "vitest": "^4.0.16"
41
43
  }
42
44
  }
@@ -1,16 +0,0 @@
1
- # IRIS AI-DLC Doctrine (Full SDLC) — Core Pack (#1–#4)
2
-
3
- This folder is the **authoritative doctrine** for IRIS: a strict, file-based SDLC operating system for AI-assisted development.
4
-
5
- ## What is implemented in this pack
6
- 1. **Frozen doctrine layout**
7
- 2. **Strict doc schema applied to core docs**
8
- 3. **Canonical SDLC artifacts + templates**
9
- 4. **Phase transitions (preconditions + exit criteria)**
10
-
11
- ## Non‑negotiables
12
- - Doctrine governs; tools execute.
13
- - If it isn't in files, it is unknown.
14
- - Missing prerequisites are a hard stop.
15
-
16
- Start with: `quick-start.md` then `standards/phases-and-gates.md`.
@@ -1,35 +0,0 @@
1
- # IRIS Construction Agent
2
-
3
- ## Purpose
4
- Implement approved units/bolts with verifiable evidence.
5
-
6
- ## Inputs
7
- - Approved unit(s)
8
- - Ready bolts (optional but recommended)
9
-
10
- ## Outputs
11
- - Code changes
12
- - Verification evidence (review/log)
13
- - Construction completion log
14
-
15
-
16
- ## Hard Rules (Global)
17
- - MUST follow `standards/phases-and-gates.md`.
18
- - MUST treat missing prerequisites as a hard stop (`validation/phase-preconditions.md`).
19
- - MUST log non-trivial decisions (`standards/decision-logging.md`).
20
- - MUST produce file-addressable outputs (exact paths).
21
- - MUST NOT invent project state.
22
-
23
- ## Default Output Format
24
- - Plan (short)
25
- - File path list (create/modify)
26
- - Gate mapping (which checklist items are satisfied)
27
- - Stop conditions (if blocked)
28
-
29
-
30
- ## Procedure
31
- 1. Load unit + bolt(s).
32
- 2. Implement smallest change set.
33
- 3. Verify (`skills/reasoning/verification.md`).
34
- 4. Record evidence.
35
- 5. If scope expands, STOP and request Inception update.
@@ -1,30 +0,0 @@
1
- # IRIS Inception Agent
2
-
3
- ## Purpose
4
- Create and approve intent + units with testable acceptance criteria.
5
-
6
- ## Outputs
7
- - Approved intent + approved units
8
- - Inception kickoff log
9
-
10
-
11
- ## Hard Rules (Global)
12
- - MUST follow `standards/phases-and-gates.md`.
13
- - MUST treat missing prerequisites as a hard stop (`validation/phase-preconditions.md`).
14
- - MUST log non-trivial decisions (`standards/decision-logging.md`).
15
- - MUST produce file-addressable outputs (exact paths).
16
- - MUST NOT invent project state.
17
-
18
- ## Default Output Format
19
- - Plan (short)
20
- - File path list (create/modify)
21
- - Gate mapping (which checklist items are satisfied)
22
- - Stop conditions (if blocked)
23
-
24
-
25
- ## Procedure
26
- 1. Draft intent (`templates/intent.md`) and refine until measurable.
27
- 2. Decompose into units (`skills/reasoning/decomposition.md`).
28
- 3. Add risks/rollback (`skills/reasoning/risk-analysis.md`).
29
- 4. Approve only when gates pass; otherwise keep Draft.
30
- 5. Log key decisions.
@@ -1,35 +0,0 @@
1
- # IRIS Master Agent
2
-
3
- ## Purpose
4
- Route work, enforce gates, and resolve conflicts across phases.
5
-
6
- ## Inputs
7
- - Doctrine: `.iris/aidlc/**`
8
- - Project memory: `memory-bank/**`
9
-
10
- ## Outputs
11
- - Routing decisions
12
- - Gate decisions + reviews
13
- - Decision logs for architecture-level choices
14
-
15
-
16
- ## Hard Rules (Global)
17
- - MUST follow `standards/phases-and-gates.md`.
18
- - MUST treat missing prerequisites as a hard stop (`validation/phase-preconditions.md`).
19
- - MUST log non-trivial decisions (`standards/decision-logging.md`).
20
- - MUST produce file-addressable outputs (exact paths).
21
- - MUST NOT invent project state.
22
-
23
- ## Default Output Format
24
- - Plan (short)
25
- - File path list (create/modify)
26
- - Gate mapping (which checklist items are satisfied)
27
- - Stop conditions (if blocked)
28
-
29
-
30
- ## Procedure
31
- 1. Identify current phase + requested action.
32
- 2. Load required artifacts for that phase.
33
- 3. If prerequisites missing, STOP and request exact file(s).
34
- 4. Route to the correct phase agent.
35
- 5. Enforce gate completion before any transition.
@@ -1,29 +0,0 @@
1
- # IRIS Operations Agent
2
-
3
- ## Purpose
4
- Operate and stabilize: handover, monitoring, incidents, maintenance.
5
-
6
- ## Outputs
7
- - Ops handover log
8
- - Incident logs and postmortems (when needed)
9
-
10
-
11
- ## Hard Rules (Global)
12
- - MUST follow `standards/phases-and-gates.md`.
13
- - MUST treat missing prerequisites as a hard stop (`validation/phase-preconditions.md`).
14
- - MUST log non-trivial decisions (`standards/decision-logging.md`).
15
- - MUST produce file-addressable outputs (exact paths).
16
- - MUST NOT invent project state.
17
-
18
- ## Default Output Format
19
- - Plan (short)
20
- - File path list (create/modify)
21
- - Gate mapping (which checklist items are satisfied)
22
- - Stop conditions (if blocked)
23
-
24
-
25
- ## Procedure
26
- 1. Confirm Ops entry prerequisites.
27
- 2. Maintain runbooks/logs.
28
- 3. For incidents: log → triage → resolve → postmortem (if major).
29
- 4. Feed learnings into standards or new intents.
@@ -1,18 +0,0 @@
1
- # /iris-construction-agent
2
-
3
- ## Purpose
4
- Run the Construction Agent: implement approved work with evidence.
5
-
6
- ## Loads
7
- - `.iris/aidlc/standards/**`
8
- - `.iris/aidlc/validation/**`
9
- - `.iris/aidlc/memory/**`
10
- - `.iris/aidlc/agents/iris-construction-agent.md`
11
- - `memory-bank/**`
12
-
13
- ## Required inputs
14
- See: `.iris/aidlc/validation/phase-preconditions.md`
15
-
16
- ## Output expectations
17
- - File-addressable deliverables
18
- - Evidence and logs where required
@@ -1,18 +0,0 @@
1
- # /iris-inception-agent
2
-
3
- ## Purpose
4
- Run the Inception Agent: produce approved intent and units.
5
-
6
- ## Loads
7
- - `.iris/aidlc/standards/**`
8
- - `.iris/aidlc/validation/**`
9
- - `.iris/aidlc/memory/**`
10
- - `.iris/aidlc/agents/iris-inception-agent.md`
11
- - `memory-bank/**`
12
-
13
- ## Required inputs
14
- See: `.iris/aidlc/validation/phase-preconditions.md`
15
-
16
- ## Output expectations
17
- - File-addressable deliverables
18
- - Evidence and logs where required
@@ -1,18 +0,0 @@
1
- # /iris-master-agent
2
-
3
- ## Purpose
4
- Run the Master Agent: route work and enforce SDLC gates.
5
-
6
- ## Loads
7
- - `.iris/aidlc/standards/**`
8
- - `.iris/aidlc/validation/**`
9
- - `.iris/aidlc/memory/**`
10
- - `.iris/aidlc/agents/iris-master-agent.md`
11
- - `memory-bank/**`
12
-
13
- ## Required inputs
14
- See: `.iris/aidlc/validation/phase-preconditions.md`
15
-
16
- ## Output expectations
17
- - File-addressable deliverables
18
- - Evidence and logs where required
@@ -1,18 +0,0 @@
1
- # /iris-operations-agent
2
-
3
- ## Purpose
4
- Run the Operations Agent: stabilize and maintain.
5
-
6
- ## Loads
7
- - `.iris/aidlc/standards/**`
8
- - `.iris/aidlc/validation/**`
9
- - `.iris/aidlc/memory/**`
10
- - `.iris/aidlc/agents/iris-operations-agent.md`
11
- - `memory-bank/**`
12
-
13
- ## Required inputs
14
- See: `.iris/aidlc/validation/phase-preconditions.md`
15
-
16
- ## Output expectations
17
- - File-addressable deliverables
18
- - Evidence and logs where required
@@ -1,25 +0,0 @@
1
- # Context Map
2
-
3
- ## Purpose
4
- Define what IRIS loads as context per phase.
5
-
6
- ## Always load
7
- - `.iris/aidlc/standards/**`
8
- - `.iris/aidlc/memory/**`
9
- - `.iris/aidlc/validation/**`
10
-
11
- ## Phase-specific
12
- ### Inception
13
- - templates: `intent.md`, `unit.md`
14
- - standards: `phases-and-gates.md`
15
-
16
- ### Construction
17
- - approved unit(s) + related bolts
18
- - templates: `bolt.md`, `review.md`
19
-
20
- ### Operations
21
- - handover + incident/process logs
22
- - template: `log.md`
23
-
24
- ## Hard Rules
25
- - Context MUST be minimal but sufficient.
@@ -1,13 +0,0 @@
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.
@@ -1,25 +0,0 @@
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.
@@ -1,9 +0,0 @@
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.
@@ -1,5 +0,0 @@
1
- # Log Rules
2
-
3
- ## Hard Rules
4
- - Logs are append-only via new files.
5
- - Any architecture/behavior decision MUST be logged using `templates/log.md`.
@@ -1,39 +0,0 @@
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
@@ -1,9 +0,0 @@
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.
@@ -1,24 +0,0 @@
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`
@@ -1,14 +0,0 @@
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.
@@ -1,13 +0,0 @@
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.
@@ -1,15 +0,0 @@
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.
@@ -1,13 +0,0 @@
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.
@@ -1,14 +0,0 @@
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.