agentera 0.0.0 → 3.0.0-dev.1

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 (256) hide show
  1. package/README.md +6 -45
  2. package/bundle/.agentera-npx-bundle.json +4 -0
  3. package/bundle/references/adapters/cursor.md +213 -0
  4. package/bundle/references/adapters/opencode.md +530 -0
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
  6. package/bundle/references/adapters/package-registry.yaml +247 -0
  7. package/bundle/references/adapters/package-surface-characterization.md +48 -0
  8. package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
  9. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
  10. package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
  11. package/bundle/references/adapters/runtime-feature-parity.md +189 -0
  12. package/bundle/references/analysis/benchmark.md +267 -0
  13. package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
  14. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
  15. package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
  16. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +241 -0
  17. package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
  18. package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
  19. package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
  20. package/bundle/references/cli/capability-tool-classification.yaml +53 -0
  21. package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
  22. package/bundle/references/cli/update-channels.yaml +147 -0
  23. package/bundle/references/cli/vocabulary-index.yaml +160 -0
  24. package/bundle/references/cli/vocabulary.md +566 -0
  25. package/bundle/references/meta/documentation-inventory.md +43 -0
  26. package/bundle/references/v1-section-mapping.md +47 -0
  27. package/bundle/registry.json +39 -0
  28. package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
  29. package/bundle/skills/agentera/SKILL.md +470 -0
  30. package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
  31. package/bundle/skills/agentera/agents/hej.toml +6 -0
  32. package/bundle/skills/agentera/agents/inspektera.toml +6 -0
  33. package/bundle/skills/agentera/agents/inspirera.toml +6 -0
  34. package/bundle/skills/agentera/agents/optimera.toml +6 -0
  35. package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
  36. package/bundle/skills/agentera/agents/planera.toml +6 -0
  37. package/bundle/skills/agentera/agents/profilera.toml +6 -0
  38. package/bundle/skills/agentera/agents/realisera.toml +6 -0
  39. package/bundle/skills/agentera/agents/resonera.toml +6 -0
  40. package/bundle/skills/agentera/agents/visionera.toml +6 -0
  41. package/bundle/skills/agentera/agents/visualisera.toml +6 -0
  42. package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
  43. package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
  44. package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
  45. package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
  46. package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
  47. package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
  48. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
  49. package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
  50. package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
  51. package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
  52. package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
  53. package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
  54. package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
  55. package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
  56. package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
  57. package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
  58. package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
  59. package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
  60. package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
  61. package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
  62. package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
  63. package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
  64. package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
  65. package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
  66. package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
  67. package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
  68. package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
  69. package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
  70. package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
  71. package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
  72. package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
  73. package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
  74. package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
  75. package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
  76. package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
  77. package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
  78. package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
  79. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
  80. package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
  81. package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
  82. package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
  83. package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
  84. package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
  85. package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
  86. package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
  87. package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
  88. package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
  89. package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
  90. package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
  91. package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
  92. package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
  93. package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
  94. package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
  95. package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
  96. package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
  97. package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
  98. package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
  99. package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
  100. package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
  101. package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
  102. package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
  103. package/bundle/skills/agentera/protocol.yaml +463 -0
  104. package/bundle/skills/agentera/references/contract.md +1039 -0
  105. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
  106. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
  107. package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
  108. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
  109. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
  110. package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
  111. package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
  112. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
  113. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
  114. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
  115. package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
  116. package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
  117. package/bundle/skills/hej/SKILL.md +69 -0
  118. package/bundle/skills/hej/agents/hej.toml +11 -0
  119. package/bundle/skills/hej/agents/openai.yaml +8 -0
  120. package/dist/analytics/extractCorpus.js +1791 -0
  121. package/dist/analytics/extractCorpus.js.map +1 -0
  122. package/dist/analytics/usageStats.js +487 -0
  123. package/dist/analytics/usageStats.js.map +1 -0
  124. package/dist/bin/agentera.js +4 -0
  125. package/dist/bin/agentera.js.map +1 -0
  126. package/dist/cli/appContext.js +226 -0
  127. package/dist/cli/appContext.js.map +1 -0
  128. package/dist/cli/argvalidate.js +41 -0
  129. package/dist/cli/argvalidate.js.map +1 -0
  130. package/dist/cli/capabilityContext.js +2421 -0
  131. package/dist/cli/capabilityContext.js.map +1 -0
  132. package/dist/cli/commands/backfill.js +84 -0
  133. package/dist/cli/commands/backfill.js.map +1 -0
  134. package/dist/cli/commands/capability.js +44 -0
  135. package/dist/cli/commands/capability.js.map +1 -0
  136. package/dist/cli/commands/compact.js +148 -0
  137. package/dist/cli/commands/compact.js.map +1 -0
  138. package/dist/cli/commands/doctor.js +180 -0
  139. package/dist/cli/commands/doctor.js.map +1 -0
  140. package/dist/cli/commands/lint.js +179 -0
  141. package/dist/cli/commands/lint.js.map +1 -0
  142. package/dist/cli/commands/prime.js +544 -0
  143. package/dist/cli/commands/prime.js.map +1 -0
  144. package/dist/cli/commands/query.js +346 -0
  145. package/dist/cli/commands/query.js.map +1 -0
  146. package/dist/cli/commands/report.js +210 -0
  147. package/dist/cli/commands/report.js.map +1 -0
  148. package/dist/cli/commands/schema.js +306 -0
  149. package/dist/cli/commands/schema.js.map +1 -0
  150. package/dist/cli/commands/state.js +1012 -0
  151. package/dist/cli/commands/state.js.map +1 -0
  152. package/dist/cli/commands/upgrade.js +48 -0
  153. package/dist/cli/commands/upgrade.js.map +1 -0
  154. package/dist/cli/commands/validate.js +519 -0
  155. package/dist/cli/commands/validate.js.map +1 -0
  156. package/dist/cli/commands/verify.js +204 -0
  157. package/dist/cli/commands/verify.js.map +1 -0
  158. package/dist/cli/dispatch.js +958 -0
  159. package/dist/cli/dispatch.js.map +1 -0
  160. package/dist/cli/orientation.js +595 -0
  161. package/dist/cli/orientation.js.map +1 -0
  162. package/dist/cli/prime-blob.js +3 -0
  163. package/dist/cli/prime-blob.js.map +1 -0
  164. package/dist/cli/stateQuery.js +292 -0
  165. package/dist/cli/stateQuery.js.map +1 -0
  166. package/dist/cli/structured.js +18 -0
  167. package/dist/cli/structured.js.map +1 -0
  168. package/dist/core/difflib.js +274 -0
  169. package/dist/core/difflib.js.map +1 -0
  170. package/dist/core/git.js +43 -0
  171. package/dist/core/git.js.map +1 -0
  172. package/dist/core/paths.js +50 -0
  173. package/dist/core/paths.js.map +1 -0
  174. package/dist/core/pyjson.js +101 -0
  175. package/dist/core/pyjson.js.map +1 -0
  176. package/dist/core/sourceRoot.js +72 -0
  177. package/dist/core/sourceRoot.js.map +1 -0
  178. package/dist/core/toml.js +11 -0
  179. package/dist/core/toml.js.map +1 -0
  180. package/dist/core/yaml.js +25 -0
  181. package/dist/core/yaml.js.map +1 -0
  182. package/dist/eval/evalSkills.js +258 -0
  183. package/dist/eval/evalSkills.js.map +1 -0
  184. package/dist/eval/semanticEval.js +148 -0
  185. package/dist/eval/semanticEval.js.map +1 -0
  186. package/dist/eval/semanticFixtures.js +227 -0
  187. package/dist/eval/semanticFixtures.js.map +1 -0
  188. package/dist/hooks/common.js +160 -0
  189. package/dist/hooks/common.js.map +1 -0
  190. package/dist/hooks/compaction.js +935 -0
  191. package/dist/hooks/compaction.js.map +1 -0
  192. package/dist/hooks/cursorPreToolUse.js +19 -0
  193. package/dist/hooks/cursorPreToolUse.js.map +1 -0
  194. package/dist/hooks/cursorSessionStart.js +71 -0
  195. package/dist/hooks/cursorSessionStart.js.map +1 -0
  196. package/dist/hooks/sessionStart.js +209 -0
  197. package/dist/hooks/sessionStart.js.map +1 -0
  198. package/dist/hooks/sessionStop.js +212 -0
  199. package/dist/hooks/sessionStop.js.map +1 -0
  200. package/dist/hooks/validateArtifact.js +933 -0
  201. package/dist/hooks/validateArtifact.js.map +1 -0
  202. package/dist/registries/artifactRegistry.js +206 -0
  203. package/dist/registries/artifactRegistry.js.map +1 -0
  204. package/dist/registries/capabilityContract.js +310 -0
  205. package/dist/registries/capabilityContract.js.map +1 -0
  206. package/dist/registries/packageRegistry.js +641 -0
  207. package/dist/registries/packageRegistry.js.map +1 -0
  208. package/dist/registries/runtimeAdapterRegistry.js +315 -0
  209. package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
  210. package/dist/setup/codex.js +1056 -0
  211. package/dist/setup/codex.js.map +1 -0
  212. package/dist/setup/copilot.js +227 -0
  213. package/dist/setup/copilot.js.map +1 -0
  214. package/dist/setup/cursor.js +127 -0
  215. package/dist/setup/cursor.js.map +1 -0
  216. package/dist/setup/doctor.js +1276 -0
  217. package/dist/setup/doctor.js.map +1 -0
  218. package/dist/state/installRoot.js +279 -0
  219. package/dist/state/installRoot.js.map +1 -0
  220. package/dist/state/progressCommit.js +289 -0
  221. package/dist/state/progressCommit.js.map +1 -0
  222. package/dist/state/startupAnalysis.js +1953 -0
  223. package/dist/state/startupAnalysis.js.map +1 -0
  224. package/dist/upgrade/appModel.js +189 -0
  225. package/dist/upgrade/appModel.js.map +1 -0
  226. package/dist/upgrade/channels.js +208 -0
  227. package/dist/upgrade/channels.js.map +1 -0
  228. package/dist/upgrade/compatibility.js +201 -0
  229. package/dist/upgrade/compatibility.js.map +1 -0
  230. package/dist/upgrade/doctor.js +373 -0
  231. package/dist/upgrade/doctor.js.map +1 -0
  232. package/dist/upgrade/migrateArtifactsV2ToV3.js +332 -0
  233. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
  234. package/dist/upgrade/runtimeMigration.js +484 -0
  235. package/dist/upgrade/runtimeMigration.js.map +1 -0
  236. package/dist/upgrade/upgradeCommands.js +36 -0
  237. package/dist/upgrade/upgradeCommands.js.map +1 -0
  238. package/dist/upgrade/upgradeOrchestrator.js +299 -0
  239. package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
  240. package/dist/upgrade/versionResolution.js +179 -0
  241. package/dist/upgrade/versionResolution.js.map +1 -0
  242. package/dist/validate/appHomeContract.js +150 -0
  243. package/dist/validate/appHomeContract.js.map +1 -0
  244. package/dist/validate/capability.js +412 -0
  245. package/dist/validate/capability.js.map +1 -0
  246. package/dist/validate/crossCapability.js +145 -0
  247. package/dist/validate/crossCapability.js.map +1 -0
  248. package/dist/validate/lifecycleAdapters.js +772 -0
  249. package/dist/validate/lifecycleAdapters.js.map +1 -0
  250. package/dist/validate/selfAudit.js +107 -0
  251. package/dist/validate/selfAudit.js.map +1 -0
  252. package/package.json +28 -8
  253. package/LICENSE +0 -201
  254. package/bin/agentera.mjs +0 -50
  255. package/lib/exec.mjs +0 -116
  256. package/lib/resolve.mjs +0 -129
@@ -0,0 +1,403 @@
1
+ # REALISERA
2
+
3
+ **Relentless Execution: Autonomous Loops Iterating Software. Evolve, Refine, Adapt**
4
+
5
+ An autonomous development loop that evolves any software project one cycle at a time. Decisions grounded in the user's decision profile. Continuity lives in files, not memory.
6
+
7
+ Each invocation = one cycle. `/loop` handles recurrence.
8
+
9
+ ---
10
+
11
+ ## Visual identity
12
+
13
+ Glyph: **⧉** (protocol ref: SG2). Used in the mandatory exit marker.
14
+
15
+ ---
16
+
17
+ ## State artifacts
18
+
19
+ Four artifacts, bootstrapped if absent. TODO.md and CHANGELOG.md stay at project root; canonical VISION.md and PROGRESS.md are stored as `.agentera/vision.yaml` and `.agentera/progress.yaml` unless mapped otherwise.
20
+
21
+ | File | Purpose | Bootstrap |
22
+ |------|---------|-----------|
23
+ | `VISION.md` | Canonical vision artifact. North star, direction, principles, aspirations. | Via inline brainstorm session (see below), written to `.agentera/vision.yaml` by default. |
24
+ | `TODO.md` | Tech debt, bugs, discrepancies. | `# TODO\n\n## ⇶ Critical\n\n## ⇉ Degraded\n\n## → Normal\n\n## ⇢ Annoying\n\n## Resolved\n` |
25
+ | `CHANGELOG.md` | Public change history. | `# Changelog\n\n## [Unreleased]\n` |
26
+ | `PROGRESS.md` | Canonical progress artifact. Operational cycle log. | First cycle entry in `.agentera/progress.yaml` by default. |
27
+
28
+ Use `agentera schema --format json` and its `artifact_schemas` entries for `vision` and `progress` to locate the active installed schemas; do not search Agentera directories manually. Top-level `agentera describe` is a migration alias.
29
+
30
+ ### Artifact path resolution
31
+
32
+ Before reading or writing any artifact, check if `.agentera/docs.yaml` exists. If it has an Artifact Mapping section, use the path specified for each canonical filename (VISION.md, TODO.md, .agentera/progress.yaml, etc.). If `.agentera/docs.yaml` doesn't exist or has no mapping for a given artifact, use the default layout: TODO.md, CHANGELOG.md, and DESIGN.md at the project root; canonical VISION.md at `.agentera/vision.yaml`; other agent-facing artifacts at `.agentera/*.yaml`.
33
+
34
+ ### Contract values
35
+
36
+ Contract values are inlined where referenced. Visual tokens from protocol: severity arrows VT5-VT8 (⇶/⇉/→/⇢), status tokens VT1-VT4 (■/▣/□/▨), list item VT15 (▸), inline separator VT16 (·), section divider VT14, flow/target VT17 (→). Skill glyphs SG1-SG12 for cross-capability references. Exit signals EX1-EX4 for the exit marker. Severity issue levels SI1-SI4 for TODO classification. Decision labels DL1-DL3 for DECISIONS.md entries. Confidence scale CS1-CS5 with thresholds for profile consumption.
37
+
38
+ `references/contract.md` (at the v2 skill location `skills/agentera/references/contract.md`) remains available as a full-spec reference for ambiguous cases or cross-checking.
39
+
40
+ ### vision.yaml
41
+
42
+ Evergreen. Created via brainstorm on first run, refined only when the user explicitly asks. Outside those two cases, the agent reads it but never writes it. A constitution, not a backlog.
43
+
44
+ ```yaml
45
+ project_name: Project Name
46
+ north_star: The dream. What this software makes possible.
47
+ personas:
48
+ - name: Specific persona
49
+ description: Their day, frustrations, and workflow.
50
+ principles:
51
+ - name: Principle name
52
+ description: What it means and what it resists.
53
+ direction: Where this project is heading.
54
+ identity:
55
+ personality: Product personality.
56
+ voice: Communication style.
57
+ emotional_register: How it should feel to use.
58
+ naming: Naming conventions.
59
+ tension: The hardest strategic tension.
60
+ ```
61
+
62
+ ### progress.yaml
63
+
64
+ ```yaml
65
+ cycles:
66
+ - number: N
67
+ timestamp: YYYY-MM-DD HH:MM
68
+ type: feat
69
+ phase: build
70
+ what: One-line summary of what shipped.
71
+ commit: pending
72
+ inspiration: External source, if any.
73
+ discovered: Issues or ideas found.
74
+ verified: Observed output, N/A tag, or rationale.
75
+ next: Most valuable next work.
76
+ context:
77
+ intent: Why this cycle happened.
78
+ constraints: What had to stay true.
79
+ unknowns: What remains uncertain.
80
+ scope: What changed.
81
+ archive: []
82
+ ```
83
+
84
+ The `verified` field is mandatory for every cycle entry.
85
+
86
+ The `commit` field names the git commit that contains the product change. Write
87
+ `commit: pending` in the implementation commit when the hash is not known yet; backfill
88
+ the product commit hash later in a forward commit if needed. Never amend solely to
89
+ set this field to HEAD.
90
+
91
+ ### CHANGELOG.md
92
+
93
+ Public-facing change history. Keep-a-changelog format. Realisera appends entries under `## [Unreleased]` based on commit type: `feat` → Added, `refactor/chore` → Changed, `fix` → Fixed. On version bumps, promote the Unreleased section to a versioned heading.
94
+
95
+ ---
96
+
97
+ ## Brainstorm: bootstrapping or refining the vision artifact
98
+
99
+ This runs in two situations:
100
+
101
+ 1. **The vision artifact doesn't exist**: the first time realisera runs on a project
102
+ 2. **User explicitly asks** to refine the vision
103
+
104
+ In all other cases, skip straight to the cycle.
105
+
106
+ The sharp colleague, here to build. Brief, focused conversation. One question at a time. Push for ambition.
107
+
108
+ 1. **Understand the dream**: "Not what the software does, but what does it make possible?"
109
+ 2. **Find the people**: "Who reaches for this? Describe a person: their day, their frustrations."
110
+ 3. **Find the principles**: "What principles guide every decision?" If a decision profile exists, propose principles from it.
111
+ 4. **Set the direction**: "Where is this heading? Not features, but capabilities."
112
+ 5. **Write the vision artifact**: synthesize into an aspirational north star. Present for approval.
113
+
114
+ Artifact writing follows contract Section 24 conventions: banned verbosity patterns, 25-word sentence cap, preferred vocabulary, and lead-with-conclusion structure.
115
+
116
+ ---
117
+
118
+ ## The cycle
119
+
120
+ Skill introduction: `─── ⧉ realisera · cycle N ───`
121
+
122
+ Step markers: display `── step N/9: verb` before each step.
123
+ Steps: orient, select, research, plan, spawn, verify, commit, audit, log.
124
+
125
+ ### Step 1: Orient
126
+
127
+ Start from the supported Realisera execution-context seam:
128
+
129
+ ```bash
130
+ agentera prime --context realisera --format json
131
+ ```
132
+
133
+ If `execution_context.source_contract.complete_for_execution_context` is true,
134
+ use `execution_context` and included `capability_context.state` as normal startup context. Do
135
+ not read raw PLAN, PROGRESS, TODO, DOCS, HEALTH, DECISIONS, CHANGELOG, VISION,
136
+ PROFILE, or DESIGN artifacts just to re-check selected work, acceptance
137
+ criteria, constraints, verification expectations, artifact update requirements,
138
+ progress logging requirements, changelog boundary, or scope caveats.
139
+
140
+ If `execution_context` is incomplete or caveated, preserve every caveat in the
141
+ cycle report and run the listed `execution_context.fallback_commands` before any
142
+ last-resort raw artifact diagnostic. Raw artifact reads are last-resort
143
+ diagnostics, not normal Realisera startup behavior.
144
+
145
+ For progress fallback specifically, use `npx -y agentera state progress --format json`
146
+ or the installed app equivalent from the returned fallback command; the routine
147
+ progress command owns startup progress state.
148
+
149
+ ### Decision satisfaction authority
150
+
151
+ When a cycle touches decision satisfaction, agents may mark provisional
152
+ satisfaction with evidence only. Realisera must not mark or imply
153
+ user-confirmed satisfaction; only the user confirms final satisfaction. If
154
+ decisions are compacted, missing satisfaction state, open, provisional, or
155
+ review-needed, preserve the caveat and review pressure in the cycle report
156
+ instead of reconstructing hidden outcomes or claiming automation proved intent.
157
+
158
+ 1. **execution_context.work_selection**: selected task or no-plan/completed-plan mode
159
+ 2. **execution_context.acceptance_criteria**: exact criteria for this cycle
160
+ 3. **execution_context.constraints**: plan constraints and protected-action boundaries
161
+ 4. **execution_context.verification_expectations**: expected validation and latest progress evidence
162
+ 5. **execution_context.artifact_update_requirements**: plan, TODO, changelog, and progress update obligations
163
+ 6. **execution_context.changelog_boundary**: current public-history boundary or fallback
164
+ 7. **execution_context.scope_boundary**: artifact-family scope and conservative source-file scope
165
+ 8. **source_contract.capability_context**: missing state families and CLI fallback commands
166
+ 9. **profile summary**: use `hej.profile`; stale or missing profile is a caveat, not approval to refresh profile state.
167
+
168
+ 10. **Project discovery** (cycle 1 or when unfamiliar):
169
+ - Map the directory structure
170
+ - Read dependency manifests
171
+ - Read README.md, CLAUDE.md, AGENTS.md if they exist
172
+ - Identify build/test/lint commands
173
+ - Read key source files to understand architecture
174
+
175
+ 11. `git log --oneline -20` for recent changes
176
+
177
+ Before proceeding, list the 3-5 facts that determine this cycle.
178
+
179
+ **Exit-early stop condition (plan-driven mode only)**: If PLAN.md has `header.status: complete` and every task is complete, perform a **plan-completion sweep** before archiving. A plan with blocked, skipped, or otherwise incomplete tasks is not a successfully completed plan and must remain visible for replanning or follow-up. This stop condition does NOT apply in vision-driven mode.
180
+
181
+ Sweep checklist:
182
+
183
+ 1. **PROGRESS.md aggregate cycle entry**: insert a newest-first cycle entry summarizing the whole plan.
184
+ 2. **CHANGELOG.md plan-level entries**: verify `## [Unreleased]` covers each completed task's user-facing impact.
185
+ 3. **TODO.md milestone advance**: mark each plan task as Resolved.
186
+ 4. **HEALTH.md cross-reference**: mention any resolved findings.
187
+
188
+ After the sweep, archive PLAN.md to `.agentera/archive/PLAN-{date}-{slug}.yaml`, preserve lineage/evidence in the archive or next plan's `previous_plan_archived`, remove the active `.agentera/plan.yaml`, and report exit signal `complete: plan finished`.
189
+
190
+ ### Step 2: Pick work
191
+
192
+ Choose **one** focused increment. No backlog; decide by reasoning about the gap between vision and codebase, weighted against known issues.
193
+
194
+ Each cycle: **build toward the vision, or fix something broken?** Consult the decision profile. A critical bug trumps a new feature; a minor nit doesn't block progress.
195
+
196
+ **Building toward vision:** Read codebase + VISION.md, identify the gap, pick the smallest increment closing the most valuable part.
197
+
198
+ **Fixing issues:** Pick from TODO.md by severity (critical > degraded > annoying).
199
+
200
+ **Optimization-shaped work:** suggest ⎘ optimera for measurable metrics and
201
+ wait for confirmation instead of silently delegating.
202
+
203
+ Write a 1-2 sentence rationale. Scope down aggressively.
204
+
205
+ Compose a Context block for this cycle: intent, constraints, unknowns, and scope. Keep it ≤80 words.
206
+
207
+ **Decision gate**: After selecting work, use `agentera decisions --format json` and check whether any `exploratory` (DL3) entries in DECISIONS.md relate to the selected work area. Preserve returned `missing_fields`, `compacted`, `caveats`, and `satisfaction.review_needed` pressure in the cycle context instead of raw-reading missing historical context. If an exploratory decision is found: flag the uncertain foundation, suggest ❈ resonera to firm up the decision, and wait for confirmation before invoking it. In autonomous mode, proceed with the work but log the risk instead of silently delegating to resonera.
208
+
209
+ ### Step 3: Seek inspiration
210
+
211
+ Search for relevant external approaches before planning.
212
+
213
+ 1. **Assess**: bug fixes rarely benefit from inspiration. New features, architecture decisions, and unfamiliar domains do.
214
+ 2. **Search**: 2-3 targeted web queries for libraries, articles, repos, or patterns.
215
+ 3. **Analyze**: read promising finds deeply.
216
+ 4. **Integrate**: fold applicable patterns into the plan.
217
+
218
+ ### Step 4: Plan
219
+
220
+ Write a concrete plan: what changes in which files, expected behavior, verification approach.
221
+
222
+ Read files you plan to modify before committing to the plan. If the docs-first workflow should update intent docs before tests and code, include that.
223
+
224
+ Keep small enough for one agent session. Too large? Split and save the rest.
225
+
226
+ ### Step 5: Dispatch
227
+
228
+ **Pre-spawn Git commit**: before creating the worktree, commit any pending artifact changes so the subagent branches from current state.
229
+
230
+ 1. Run `git status --porcelain`. If empty, skip to spawn.
231
+ 2. Stage only the artifact files this session wrote.
232
+ 3. Commit with `chore(realisera): checkpoint before worktree dispatch`.
233
+ 4. If pre-commit hooks reject: fix, re-stage, retry. If retry fails, abort spawn.
234
+
235
+ **Stale-base awareness**: Before spawning, run `git rev-list --count origin/main..HEAD`. If count > 0, do not merge the worktree branch. Fetch the sub-agent's diff and apply it to the main checkout.
236
+
237
+ Runtime subagent mechanisms:
238
+
239
+ | Runtime | Substrate | Limitation |
240
+ |---------|-----------|------------|
241
+ | Claude Code | Task tool with worktree-aware prompt | Native in-session spawn. |
242
+ | OpenCode | `@<capability>` descriptors from `~/.config/opencode/agents/*.md` or a host Task subagent | Same working tree unless this step explicitly creates and targets a manual git worktree. |
243
+ | Codex CLI | `~/.codex/agents/*.toml` descriptors plus `[agents]` limits | Agentera setup installs descriptor files; do not write legacy `[agents.<name>]` config blocks. |
244
+ | Copilot CLI | User-driven `/fleet` or equivalent host action | No guaranteed programmatic in-session spawn. |
245
+
246
+ Never spawn workers by running unsupported capability-name CLI commands such as `agentera realisera`; use the runtime-native subagent surface with the implementation prompt below.
247
+
248
+ Spawn an implementation sub-agent in a worktree with:
249
+
250
+ - The plan from step 4
251
+ - Relevant context files
252
+ - Clear constraint: implement the plan and nothing else
253
+
254
+ ```
255
+ You are implementing a focused change for [project].
256
+
257
+ ## Task
258
+ [The plan]
259
+
260
+ ## Constraints
261
+ - Implement ONLY what the plan describes. No scope creep.
262
+ - Follow existing code patterns and conventions.
263
+ - Read the files you are modifying before changing them.
264
+ - Verify the change works as described, then run the project's test/build suite.
265
+ - If you encounter a bug unrelated to your task, note it but do not fix it.
266
+ ```
267
+
268
+ ### Step 6: Verify
269
+
270
+ Verification has two phases: structural and behavioral. Both must pass before commit.
271
+
272
+ **Phase A, structural verification**: After implementation:
273
+
274
+ 1. **Check the diff**: does it match the plan?
275
+ 2. **Functional check**: does the changed behavior work end-to-end?
276
+ 3. **Run the project's verification suite** (test/build/lint).
277
+
278
+ **Phase B, behavioral verification gate**: observe the new behavior by running the project's primary entrypoint against real project state:
279
+
280
+ - CLI tool: invoke with realistic arguments
281
+ - Library/SDK: run a smoke driver
282
+ - Web service: send a request to a production-shaped endpoint
283
+ - Skill repo: `npx -y agentera verify eval skills --skill <name>`
284
+
285
+ If verification fails: diagnose, spawn a fix agent, re-verify.
286
+
287
+ **N/A path**: If the cycle has no runnable behavior change, use `N/A: <tag>` from the allowlist: `docs-only`, `refactor-no-behavior-change`, `chore-dep-bump`, `chore-build-config`, `test-only`.
288
+
289
+ ### Step 7: Commit
290
+
291
+ Once verified, commit with a conventional commit message: `type(scope): summary`.
292
+
293
+ Types: `feat`, `fix`, `docs`, `refactor`, `chore`, `test`. Include all related files. Never commit partial or broken work. Never push to remote.
294
+
295
+ When logging progress in the same commit, set `commit: pending` unless the product
296
+ commit hash is already known. Do not amend afterward only to replace `pending` with
297
+ that hash.
298
+
299
+ If the current task is a version bump: read DOCS.md for the `versioning` section. Update every file in `version_files`.
300
+
301
+ ### Step 8: Pre-write self-audit
302
+
303
+ Pre-write self-audit: run `agentera lint --artifact <ARTIFACT> --text "<DRAFT>"` (or `--file <PATH>`; schema names such as `decisions` auto-resolve the artifact file when no input is given) on the draft entry to check verbosity overruns, abstraction creep, and filler accumulation.
304
+ Max 3 revision attempts. Flag with [post-audit-flagged] if still failing.
305
+
306
+ ### Step 9: Log
307
+
308
+ **Dual-write**: realisera maintains the resolved PROGRESS.md YAML artifact and root CHANGELOG.md.
309
+
310
+ - **TODO.md**: add newly discovered issues, mark resolved ones. Classify by severity (SI1-SI4).
311
+ - **PROGRESS.md**: insert the newest cycle entry before older active cycles. The `verified` field is mandatory.
312
+ - **CHANGELOG.md**: append a one-line entry under `## [Unreleased]`.
313
+
314
+ After writing PROGRESS.md, apply the schema COMPACTION rules if thresholds are exceeded: keep 10 full entries, keep up to 40 one-line archive entries, and drop beyond 50 total.
315
+
316
+ Artifact writing follows contract Section 24 conventions.
317
+
318
+ Then stop. One cycle complete.
319
+
320
+ ---
321
+
322
+ ## Safety rails
323
+
324
+ <critical>
325
+
326
+ - NEVER push to any remote. Local commits only.
327
+ - NEVER bypass the project's test/lint/build suite.
328
+ - NEVER modify git config or skip git hooks.
329
+ - NEVER force push, amend published commits, or run destructive git operations.
330
+ - NEVER add placeholder data or functionality.
331
+ - NEVER modify files outside the project directory.
332
+ - NEVER modify the vision artifact during a cycle. Only touch it during a brainstorm.
333
+ - One cycle per invocation. Do not attempt multiple cycles.
334
+
335
+ </critical>
336
+
337
+ ---
338
+
339
+ ## Handling blocked work
340
+
341
+ If blocked:
342
+
343
+ 1. Log blocker in TODO.md with context and decision needed
344
+ 2. Log skipped attempt in PROGRESS.md
345
+ 3. Pick different work and complete a full cycle on that instead
346
+
347
+ ---
348
+
349
+ ## Exit signals
350
+
351
+ Report one of these statuses at workflow completion (protocol refs: EX1-EX4).
352
+
353
+ Format: `─── ⧉ realisera · <status> ───` followed by a summary sentence.
354
+ For flagged, stuck, and waiting: add `▸` (VT15) bullet details below the summary.
355
+
356
+ - **complete** (EX1): One full cycle completed. Work selected, implemented, verified, committed, artifacts updated.
357
+ - **flagged** (EX2): Cycle completed but with notable issues: verification warnings, scope reduction, or discoveries suggesting next cycle may face blockers.
358
+ - **stuck** (EX3): Cannot complete: the vision artifact is missing and brainstorm can't proceed, all work blocked, or verification suite broken.
359
+ - **waiting** (EX4): No vision artifact and no codebase to infer direction, or user instruction too ambiguous.
360
+
361
+ Before reporting any status, inspect the last 3 entries in PROGRESS.md. If all 3 record failed cycles, stop, log the failure pattern to TODO.md, and surface to the user. Do not attempt a 4th consecutive cycle on the same failing problem.
362
+
363
+ ---
364
+
365
+ ## Cross-capability integration
366
+
367
+ Realisera is part of a twelve-capability suite.
368
+
369
+ ### Delegates to ⛥ visionera
370
+
371
+ When visionera is installed and the vision artifact doesn't exist, suggest ⛥ visionera for deep vision creation. If visionera is NOT installed, the built-in brainstorm works as a standalone fallback.
372
+
373
+ ### Delegates to ⎘ optimera
374
+
375
+ When picked work is optimization-shaped (improving a measurable metric), delegate to optimera.
376
+
377
+ ### Uses ⬚ inspirera
378
+
379
+ In Step 3 (Seek inspiration), search for external approaches. For deeper analysis, use `/agentera research <url>`.
380
+
381
+ ### Reads ♾ profilera output
382
+
383
+ Every cycle runs the effective profile script. Confidence thresholds (CS1-CS5) determine which entries are strong constraints vs suggestions.
384
+
385
+ ### Uses ❈ resonera for complex decisions
386
+
387
+ When the brainstorm or work selection surfaces a decision too complex for inline resolution, suggest ❈ resonera.
388
+
389
+ ### Consumes ≡ planera plans
390
+
391
+ When PLAN.md exists with pending tasks, Step 2 reads the plan instead of reasoning from vision. Pick next pending task with satisfied dependencies. Update task status. When `header.status: complete` and every task is complete, run the plan-completion sweep, archive PLAN.md before removing active state, and preserve lineage/evidence.
392
+
393
+ ### Reads ▤ dokumentera output
394
+
395
+ DOCS.md provides artifact path resolution. In the docs-first workflow, dokumentera writes intent docs that feed planera, which feeds realisera.
396
+
397
+ ### Reads ◰ visualisera output
398
+
399
+ DESIGN.md provides visual identity context respected when building user-facing features.
400
+
401
+ ### Audited by ⛶ inspektera
402
+
403
+ HEALTH.md findings become candidates for work selection. Run ⛶ inspektera every 5-10 cycles.
@@ -0,0 +1,80 @@
1
+ ARTIFACTS:
2
+ 1:
3
+ id: A1
4
+ artifact_id: vision
5
+ local_role: produces_and_consumes
6
+ description: >-
7
+ Realisera consumes this through CLI execution_context caveats or explicit
8
+ fallback state when available, and never modifies it during cycles. Created
9
+ during brainstorm (bootstrap or user-requested refinement).
10
+ 2:
11
+ id: A2
12
+ artifact_id: todo
13
+ local_role: produces_and_consumes
14
+ description: >-
15
+ Realisera consumes TODO state from execution_context and included hej state
16
+ before direct reads, then writes newly discovered issues and resolved
17
+ entries. Severity classified per protocol SI1-SI4.
18
+ 3:
19
+ id: A3
20
+ artifact_id: changelog
21
+ local_role: produces_and_consumes
22
+ description: >-
23
+ Realisera consumes changelog boundary from execution_context or the listed
24
+ CLI fallback before direct reads. It appends public change entries under
25
+ [Unreleased] based on commit type and promotes on version bumps.
26
+ 4:
27
+ id: A4
28
+ artifact_id: progress
29
+ local_role: produces_and_consumes
30
+ description: >-
31
+ Operational cycle log. Realisera consumes latest progress evidence from
32
+ execution_context first, then appends one entry per cycle with mandatory
33
+ Verified field. Compacted by applying schema COMPACTION rules.
34
+ 5:
35
+ id: A5
36
+ artifact_id: health
37
+ local_role: consumes
38
+ description: >-
39
+ Realisera consumes health state from execution_context and included hej
40
+ state before direct reads, focusing on critical and degraded findings for
41
+ work selection.
42
+ 6:
43
+ id: A6
44
+ artifact_id: decisions
45
+ local_role: consumes
46
+ description: >-
47
+ Realisera consumes decision caveats and fallback commands from
48
+ execution_context first. Firm (DL1) entries are constraints and exploratory
49
+ (DL3) entries are uncertain foundations during work selection.
50
+ 7:
51
+ id: A7
52
+ artifact_id: plan
53
+ local_role: produces_and_consumes
54
+ description: >-
55
+ Realisera consumes selected task, acceptance criteria, dependencies,
56
+ constraints, and source contract metadata from CLI execution_context before
57
+ direct plan reads, then updates task status and surprises during execution.
58
+ 8:
59
+ id: A8
60
+ artifact_id: profile
61
+ local_role: consumes
62
+ description: >-
63
+ Realisera consumes hej profile summary first. Missing or stale profile state
64
+ is a caveat and does not authorize profile refresh or direct profile reads
65
+ during normal startup.
66
+ 9:
67
+ id: A9
68
+ artifact_id: docs
69
+ local_role: consumes
70
+ description: >-
71
+ Realisera consumes artifact mappings and docs caveats from execution_context
72
+ and included hej docs state before direct docs reads.
73
+ 10:
74
+ id: A10
75
+ artifact_id: design
76
+ local_role: consumes
77
+ description: >-
78
+ Realisera treats design state missing from execution_context as a caveat or
79
+ fallback-only need, and reads it only when building user-facing features
80
+ after listed CLI fallbacks are exhausted.
@@ -0,0 +1,35 @@
1
+ EXIT_CONDITIONS:
2
+ 1:
3
+ id: E1
4
+ condition: complete
5
+ description: >-
6
+ One full cycle completed. Work was selected, implemented, verified
7
+ against the project's test/build suite, committed with a conventional
8
+ message, and PROGRESS.md and TODO.md were updated.
9
+ exit_signal: complete
10
+ 2:
11
+ id: E2
12
+ condition: flagged
13
+ description: >-
14
+ The cycle completed but with notable issues. Possible causes:
15
+ verification passed but with warnings, the committed work is narrower
16
+ than intended due to scope reduction, or discoveries logged in
17
+ PROGRESS.md suggest the next cycle may face blockers.
18
+ exit_signal: flagged
19
+ 3:
20
+ id: E3
21
+ condition: stuck
22
+ description: >-
23
+ Cannot complete a cycle because VISION.md does not exist and the
24
+ brainstorm cannot proceed without the user, every available work item
25
+ is blocked, or the verification suite is broken and cannot be fixed
26
+ within the cycle's scope.
27
+ exit_signal: stuck
28
+ 4:
29
+ id: E4
30
+ condition: waiting
31
+ description: >-
32
+ The project has no VISION.md and no codebase to infer direction from,
33
+ or the user's explicit instruction is too ambiguous to act on without
34
+ clarification.
35
+ exit_signal: waiting
@@ -0,0 +1,39 @@
1
+ TRIGGERS:
2
+ 1:
3
+ id: T1
4
+ description: >-
5
+ Direct invocation by name or slash command. Matches when the user
6
+ explicitly requests realisera for autonomous development.
7
+ priority: high
8
+ patterns:
9
+ - "realisera"
10
+ - "/realisera"
11
+ 2:
12
+ id: T2
13
+ description: >-
14
+ Development cycle requests. Matches when the user wants to run an
15
+ autonomous development cycle or evolve the project.
16
+ priority: medium
17
+ patterns:
18
+ - "run a dev cycle"
19
+ - "evolve the project"
20
+ - "develop autonomously"
21
+ - "build the next feature"
22
+ 3:
23
+ id: T3
24
+ description: >-
25
+ Continuous development signals. Matches when the user wants ongoing
26
+ building or to start working on the project.
27
+ priority: medium
28
+ patterns:
29
+ - "keep building"
30
+ - "start building"
31
+ - "work on the project"
32
+ 4:
33
+ id: T4
34
+ description: >-
35
+ Vision refinement within a development context. Matches when the user
36
+ wants to refine the project vision as part of a development session.
37
+ priority: medium
38
+ patterns:
39
+ - "refine the vision"
@@ -0,0 +1,110 @@
1
+ VALIDATION:
2
+ 1:
3
+ id: V1
4
+ rule: verified_field_mandatory
5
+ description: >-
6
+ Every PROGRESS.md cycle entry MUST have a verified field. The field
7
+ carries either observed output from the primary entrypoint, an allowlisted
8
+ N/A tag, or a free-form rationale of at least 8 words.
9
+ severity: critical
10
+ checks:
11
+ - "Every cycle entry has a verified field"
12
+ - "verified field is not empty"
13
+ 2:
14
+ id: V2
15
+ rule: one_cycle_per_invocation
16
+ description: >-
17
+ Realisera executes exactly one cycle per invocation. After logging (Step 9),
18
+ the capability MUST stop. Multiple cycles require separate invocations or
19
+ /loop.
20
+ severity: critical
21
+ checks:
22
+ - "Only one cycle entry appended to PROGRESS.md per invocation"
23
+ 3:
24
+ id: V3
25
+ rule: no_remote_push
26
+ description: >-
27
+ Realisera MUST NEVER push to any remote repository. All commits are local
28
+ only. Remote operations require explicit user instruction outside this
29
+ capability.
30
+ severity: critical
31
+ checks:
32
+ - "No git push commands issued"
33
+ 4:
34
+ id: V4
35
+ rule: vision_readonly_during_cycle
36
+ description: >-
37
+ The canonical vision artifact MUST NOT be modified during a cycle. It may only be written
38
+ during a brainstorm session (bootstrap or user-requested refinement).
39
+ severity: critical
40
+ checks:
41
+ - "Vision artifact not modified outside brainstorm"
42
+ 5:
43
+ id: V5
44
+ rule: consecutive_failure_guard
45
+ description: >-
46
+ If the last 3 PROGRESS.md entries all record failed cycles, realisera
47
+ MUST stop and surface the pattern to the user. Do not attempt a 4th
48
+ consecutive cycle on the same failing problem.
49
+ severity: critical
50
+ checks:
51
+ - "Failure pattern checked before cycle start"
52
+ 6:
53
+ id: V6
54
+ rule: artifact_path_resolution
55
+ description: >-
56
+ Before reading or writing any artifact, check .agentera/docs.yaml for path
57
+ overrides. If absent, use the default layout (TODO.md, CHANGELOG.md,
58
+ and DESIGN.md at root; canonical VISION.md at .agentera/vision.yaml;
59
+ other agent-facing artifacts as YAML in .agentera/).
60
+ severity: warning
61
+ checks:
62
+ - "DOCS.md checked before artifact access"
63
+ 7:
64
+ id: V7
65
+ rule: execution_context_first
66
+ description: >-
67
+ Realisera startup SHOULD begin from `agentera prime --context realisera
68
+ --format json` and consume complete execution_context
69
+ state before direct reads of plan, progress, TODO, docs, health,
70
+ decisions, changelog, vision, profile, or design artifacts.
71
+ severity: warning
72
+ checks:
73
+ - "execution_context requested through supported prime --context seam"
74
+ - "complete execution_context used before direct startup artifact reads"
75
+ 8:
76
+ id: V8
77
+ rule: fallback_before_raw
78
+ description: >-
79
+ When execution_context is incomplete or caveated, Realisera MUST run listed
80
+ CLI fallback commands before any last-resort raw artifact diagnostic and
81
+ MUST preserve caveats in cycle reporting.
82
+ severity: critical
83
+ checks:
84
+ - "CLI fallback commands run before raw artifact diagnostics"
85
+ - "execution_context caveats preserved in progress or cycle report"
86
+ 9:
87
+ id: V9
88
+ rule: context_generation_readonly
89
+ description: >-
90
+ Generating execution_context is read-only. It MUST NOT refresh profile or
91
+ installed app state, edit vision or objective state, spawn workers, commit,
92
+ push, tag, publish, or introduce unsupported capability-name CLI commands.
93
+ severity: critical
94
+ checks:
95
+ - "No protected state mutation during context generation"
96
+ - "No unsupported `agentera realisera` or `agentera build` command introduced"
97
+ 10:
98
+ id: V10
99
+ rule: satisfaction_authority_boundary
100
+ description: >-
101
+ When Realisera touches decision satisfaction, it may mark provisional
102
+ satisfaction with evidence but MUST NOT user-confirm satisfaction. Missing,
103
+ compacted, open, provisional, or review-needed satisfaction state remains a
104
+ caveat and review pressure; automation must not reconstruct hidden outcomes
105
+ or claim it proved user intent.
106
+ severity: critical
107
+ checks:
108
+ - "Provisional satisfaction requires evidence"
109
+ - "Only the user confirms final satisfaction"
110
+ - "Missing or compacted satisfaction caveats are preserved"