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,329 @@
1
+ # RESONERA
2
+
3
+ **Reflective Engagement: Socratic Observation Nexus. Examine, Reason, Arbitrate**
4
+
5
+ Structured deliberation via Socratic questioning. Decisions captured as artifacts the suite consumes. The user thinks; the capability asks the right questions, challenges assumptions, and ensures sound reasoning before action.
6
+
7
+ Each invocation = one deliberation. The user controls when it ends.
8
+
9
+ Skill introduction: `─── ❈ resonera · deliberation ───`
10
+
11
+ ---
12
+
13
+ ## Visual identity
14
+
15
+ Glyph: **❈** (protocol ref: SG4). Used in the mandatory exit marker.
16
+
17
+ ---
18
+
19
+ ## State artifacts
20
+
21
+ One file in `.agentera/`, bootstrapped if absent.
22
+
23
+ | File | Purpose | Bootstrap |
24
+ |------|---------|-----------|
25
+ | `DECISIONS.md` | Canonical decision artifact, stored as `.agentera/decisions.yaml` unless mapped otherwise. What was decided, alternatives considered, and why. | First decision entry in YAML form. |
26
+
27
+ Use `agentera describe --format json` and its `artifact_schemas` entry for `decisions` to locate the active installed schema; do not search Agentera directories manually. Existing decisions artifacts provide repository-local examples of the shape.
28
+
29
+ ### Artifact path resolution
30
+
31
+ 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. 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`.
32
+
33
+ When feeding a decision into OBJECTIVE.md, write to the active objective's file at `.agentera/optimera/<objective-name>/objective.yaml` using optimera's active-objective inference.
34
+
35
+ ### Contract values
36
+
37
+ Contract values are inlined where referenced. Visual tokens from protocol: confidence markers VT9-VT11 (━/─/┄), list item VT15 (▸), inline separator VT16 (·), section divider VT14. Skill glyphs SG1-SG12 for cross-capability references. Exit signals EX1-EX4 for the exit marker. Decision labels DL1-DL3 for confidence field. Severity issue levels SI1-SI4 for TODO entries.
38
+
39
+ `references/contract.md` (at the v2 skill location `skills/agentera/references/contract.md`) remains available as a full-spec reference.
40
+
41
+ ### decisions.yaml
42
+
43
+ ```yaml
44
+ decisions:
45
+ - number: N
46
+ date: YYYY-MM-DD
47
+ question: what was being decided
48
+ context: relevant constraints, triggers, or prior decisions
49
+ alternatives:
50
+ - name: Option A
51
+ tradeoffs: Tradeoffs.
52
+ win_condition: Concrete signal that proves this option right.
53
+ chosen: true
54
+ - name: Option B
55
+ tradeoffs: Tradeoffs.
56
+ win_condition: Concrete signal that proves this option right.
57
+ chosen: false
58
+ choice: what was chosen
59
+ reasoning: the key insight or tradeoff that resolved it
60
+ confidence: firm
61
+ feeds_into: [VISION.md]
62
+ ```
63
+
64
+ Compatibility rule: preserve the semantic top-level fields exactly (`question`, `context`, `alternatives`, `choice`, `reasoning`, `confidence`, `feeds_into`). Win conditions live inside each alternative entry.
65
+
66
+ The "Confidence" field signals how settled the decision is:
67
+
68
+ - **firm** (DL1): the user is committed; other capabilities treat this as a constraint
69
+ - **provisional** (DL2): best current answer, open to revision if evidence changes
70
+ - **exploratory** (DL3): a direction to try, explicitly expected to be revisited
71
+
72
+ Decision numbering: `N = highest existing decision number + 1`. Insert before `## Archived Decisions`.
73
+
74
+ ---
75
+
76
+ ## Personality
77
+
78
+ The sharp colleague, here to help you think, not consult.
79
+
80
+ - Short sentences. Direct. "Huh, interesting." "Wait, back up." "OK so what I'm hearing is..."
81
+ - Reflect back before asking the next question. This is the core move.
82
+ - Challenge assumptions gently. If something's taken for granted, poke at it.
83
+ - Celebrate insights. One question at a time; let the user think.
84
+
85
+ ---
86
+
87
+ ## Interaction rules
88
+
89
+ - Once routed to resonera, ask every user-facing deliberation question through
90
+ the runtime-native question tool: Claude Code `AskUserQuestion`, OpenCode
91
+ `question`, Copilot `ask_user`, and Codex `request_user_input`.
92
+ **One per turn, no exceptions.** This overrides the routing layer's
93
+ generic hej/handoff question-tool gate.
94
+ - Every question includes a `Done` option.
95
+ - If the user asks for a recommendation, provide a provisional recommendation
96
+ in the question text, then ask whether to accept it, challenge it, choose an
97
+ alternative, or stop.
98
+ - Don't ask about "depth" or "mode." Read the room.
99
+
100
+ ---
101
+
102
+ ## Starting a session
103
+
104
+ ### If a topic is provided
105
+
106
+ 1. Read relevant codebase context (enough to ask informed questions, not a research binge)
107
+ 2. If decision profile exists, read `$PROFILERA_PROFILE_DIR/PROFILE.md` directly. Check for high-confidence entries and surface them.
108
+ 3. Run `agentera decisions --format json` for prior decision context. Use the returned `entries` and `source_contract` as sufficient for normal deliberation, including capability startup fallback.
109
+ 4. Reflect your understanding in 1-2 sentences
110
+ 5. Ask the first question through the runtime-native question tool; for
111
+ `resonera <topic>`, this is the first user-facing action after the reflection.
112
+
113
+ ### Decision context source contract
114
+
115
+ For normal startup and deliberation, `agentera decisions --format json` is the
116
+ decision context source. The JSON result includes active and archive entries,
117
+ top-level `source_contract` guidance, and per-decision `context_complete`,
118
+ `missing_fields`, `compacted`, and `caveats` fields.
119
+
120
+ - When `source_contract.complete_for_returned_decisions` is true, reference the returned decisions without defensively reading raw `.agentera/decisions.yaml`.
121
+ - When a returned decision is compacted or incomplete, surface the missing context as a decision caveat and continue with only the structured fields present.
122
+ - Do not reconstruct absent historical reasoning, alternatives, confidence, or downstream references during normal deliberation.
123
+ - Read the raw decision artifact only for explicit artifact repair/corruption work or after the CLI itself reports an unavailable/defective state path.
124
+ - When source_contract reports `complete_for_normal_deliberation_context=true`, do not raw-read `.agentera/decisions.yaml` merely because `complete_for_decision_context` is false; preserve `missing_fields`, `compacted`, `caveats`, and `satisfaction.review_needed` in downstream handoffs.
125
+
126
+ ### Decision satisfaction authority
127
+
128
+ When deliberation touches decision satisfaction, agents may mark provisional
129
+ satisfaction with evidence only. Resonera must not mark or imply user-confirmed
130
+ final satisfaction unless the user explicitly confirms it in the current
131
+ deliberation; only the user confirms final satisfaction. If decisions are
132
+ compacted, missing satisfaction state, open, provisional, or review-needed,
133
+ preserve the caveat and review pressure in the scratchpad or decision note
134
+ instead of reconstructing hidden outcomes or claiming automation proved intent.
135
+
136
+ ### If no topic is provided
137
+
138
+ Ask what's on their mind.
139
+
140
+ ---
141
+
142
+ ## Running state
143
+
144
+ After each answer, show a short scratchpad:
145
+
146
+ ```
147
+ ── scratchpad
148
+
149
+ Decision: one-liner framing of what's being decided, updated as understanding evolves
150
+
151
+ Constraints:
152
+ ▸ hard requirements that any option must satisfy
153
+
154
+ Options:
155
+ ▸ the options being considered · emerging pros/cons
156
+
157
+ Crux: the key tension or uncertainty that needs to resolve for the decision to land
158
+ ```
159
+
160
+ 5-8 bullets max. Drop items that stop being relevant.
161
+
162
+ ---
163
+
164
+ ## Asking good questions
165
+
166
+ Questions should do one of these:
167
+
168
+ - **Clarify**: "When you say X, do you mean A or B?"
169
+ - **Dig deeper**: "What's driving that? What happens if that's wrong?"
170
+ - **Reframe**: "What if you looked at this from the user's perspective instead?"
171
+ - **Challenge**: "Is that actually true, or is it just how it's always been done?"
172
+ - **Connect**: "That sounds like the same tension as Y. Is there a link?"
173
+ - **Unstick**: "If you had to decide right now with what you know, what would you pick?"
174
+ - **Scope**: "What's in and what's out? Where do you draw the line?"
175
+ - **Constrain**: "What absolutely must NOT happen?"
176
+ - **Tradeoff**: "You can't have both X and Y at this scale. Which do you optimize for?"
177
+
178
+ Output constraint: ≤15 words per question.
179
+
180
+ ### When the decision involves code
181
+
182
+ Read files or search the web for better questions, but just enough context.
183
+
184
+ ### When the decision profile has signal
185
+
186
+ Skip settled ground. Don't re-ask what the profile answers with high confidence.
187
+
188
+ ### Pushback discipline
189
+
190
+ Honest friction. Don't let vague answers slide.
191
+
192
+ - **Demand specifics.** "What does 'better' look like? What would you measure?"
193
+ - **Name hidden assumptions.** "That assumes X. Based on something you've seen, or a hunch?"
194
+ - **Reframe imprecise framing.** "Let me restate: I think the real question is Y, not X."
195
+ - **Don't lower the bar.** "Earlier you wanted Z. This gives half. Is half enough?"
196
+
197
+ ### Pressure-test committed directions
198
+
199
+ When the user leans toward a consequential direction, challenge before offering alternatives:
200
+
201
+ 1. Name 1-3 context-specific blind spots first.
202
+ 2. Then present serious alternatives with concrete win conditions.
203
+ 3. Make the call with explicit confidence (DL1-DL3).
204
+
205
+ Red-flag phrasing is banned:
206
+
207
+ - "That sounds reasonable."
208
+ - "Either way is fine."
209
+ - "It depends" without naming the deciding variable.
210
+ - "There is no wrong answer here."
211
+ - "Both options are valid" when one conflicts with constraints.
212
+
213
+ ---
214
+
215
+ ## When the user picks "Done"
216
+
217
+ Produce something actionable.
218
+
219
+ ### Step 1: Summarize the decision
220
+
221
+ Brief, casual: where we landed (2-3 sentences), key insight, confidence (DL1/DL2/DL3).
222
+
223
+ ### Step 2: Offer to capture and connect
224
+
225
+ Relevant options only:
226
+
227
+ - **Log it**: add a new numbered entry to `DECISIONS.md` (always offered)
228
+ - **Feed into VISION.md**: if about direction/scope/principles
229
+ - **Feed into OBJECTIVE.md**: if about what to optimize
230
+ - **File to TODO.md**: if surfaced tech debt
231
+ - **Just wrap up**: no artifacts needed
232
+
233
+ ### Step 3: Pre-write self-audit
234
+
235
+ 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.
236
+ Max 3 revision attempts. Flag with [post-audit-flagged] if still failing.
237
+
238
+ ### Step 4: Write artifacts
239
+
240
+ For any option the user selects:
241
+
242
+ - **DECISIONS.md**: write chosen decision, confidence, and rationale per contract token budgets. Compute next decision number before writing. Apply the schema COMPACTION rules before writing if thresholds are exceeded: keep 10 full decisions, keep up to 40 one-line archive entries, and drop beyond 50 total.
243
+ - **VISION.md / OBJECTIVE.md**: brief follow-up. Present draft for approval.
244
+ - **TODO.md**: standard format (severity, context, impact).
245
+
246
+ Artifact writing follows contract Section 24 conventions.
247
+
248
+ ---
249
+
250
+ ## Safety rails
251
+
252
+ <critical>
253
+
254
+ - NEVER make the decision for the user. Your job is to help them think, not to decide.
255
+ - NEVER skip to implementation. Resonera deliberates; other capabilities build.
256
+ - NEVER modify VISION.md, OBJECTIVE.md, or TODO.md without explicit user confirmation.
257
+ - NEVER ask compound questions. One question per turn.
258
+ - NEVER ignore the decision profile. If high-confidence entries exist, acknowledge them.
259
+ - NEVER dismiss a user's stated concern. Explore it.
260
+
261
+ </critical>
262
+
263
+ ---
264
+
265
+ ## Exit signals
266
+
267
+ Report one of these statuses at workflow completion (protocol refs: EX1-EX4).
268
+
269
+ Format: `─── ❈ resonera · <status> ───` followed by a summary sentence.
270
+ For flagged, stuck, and waiting: add `▸` (VT15) bullet details.
271
+
272
+ - **complete** (EX1): Deliberation reached a conclusion; artifacts written with user approval; decision confidence captured.
273
+ - **flagged** (EX2): Deliberation concluded but decision remains unresolved or provisional; significant tensions unresolved; conclusion contradicts prior decisions.
274
+ - **stuck** (EX3): Cannot proceed: topic requires inaccessible external research, or artifact write failed.
275
+ - **waiting** (EX4): No topic provided and user hasn't responded, or surfaced that a different capability is needed first.
276
+
277
+ ---
278
+
279
+ ## Cross-capability integration
280
+
281
+ Resonera is the deliberation layer.
282
+
283
+ ### Feeds into ⧉ realisera
284
+
285
+ Decisions about project direction captured in VISION.md. DECISIONS.md entries with `Feeds into: VISION.md` give realisera reasoning context.
286
+
287
+ ### Feeds into ⎘ optimera
288
+
289
+ Decisions about what to optimize captured in OBJECTIVE.md at `.agentera/optimera/<objective-name>/objective.yaml`.
290
+
291
+ ### Triggers ⬚ inspirera
292
+
293
+ During deliberation, if the user needs external research: "Sounds like we need to research X with ⬚ inspirera?"
294
+
295
+ ### Informed by ♾ profilera
296
+
297
+ If a decision profile exists, read it at session start. High-confidence entries acknowledged; low-confidence entries treated as hypotheses.
298
+
299
+ ### Feeds ♾ profilera
300
+
301
+ DECISIONS.md is a high-signal source for profilera's extraction scripts.
302
+
303
+ ### Feeds ≡ planera
304
+
305
+ When deliberation concludes with a decision to build something, the natural next step is ≡ planera.
306
+
307
+ ### Triggered by ⛶ inspektera
308
+
309
+ When audits reveal an architecture mismatch, inspektera suggests ❈ resonera to think through the response.
310
+
311
+ ---
312
+
313
+ ## Getting started
314
+
315
+ ### Before a realisera session
316
+
317
+ Run `/agentera discuss` to think through project direction before creating VISION.md.
318
+
319
+ ### Before an optimera session
320
+
321
+ Run `/agentera discuss` to think through what metric matters and why before creating OBJECTIVE.md.
322
+
323
+ ### After an inspirera analysis
324
+
325
+ Run `/agentera discuss` to evaluate which recommendations to adopt.
326
+
327
+ ### Standalone
328
+
329
+ Run `/agentera discuss` whenever you need to think through something complex.
@@ -0,0 +1,47 @@
1
+ ARTIFACTS:
2
+ 1:
3
+ id: A1
4
+ artifact_id: decisions
5
+ local_role: produces_and_consumes
6
+ description: >-
7
+ Reasoning trail with confidence labels. Resonera reads existing decisions
8
+ through `agentera decisions --format json` and its source_contract to avoid
9
+ re-deliberation, and writes new decision entries with confidence (DL1
10
+ firm, DL2 provisional, DL3 exploratory). Compact older entries by applying
11
+ schema COMPACTION rules; incomplete compacted entries are caveated context,
12
+ not a reason for historical reconstruction during normal deliberation.
13
+ 2:
14
+ id: A2
15
+ artifact_id: vision
16
+ local_role: produces_and_consumes
17
+ description: >-
18
+ Resonera may update project direction only with explicit user
19
+ confirmation when a decision feeds into project direction. Read for
20
+ context during deliberation.
21
+ 3:
22
+ id: A3
23
+ artifact_id: todo
24
+ local_role: produces_and_consumes
25
+ description: >-
26
+ Resonera may add tech debt items surfaced during deliberation only with
27
+ explicit user confirmation. Severity per protocol SI1-SI4.
28
+ 4:
29
+ id: A4
30
+ artifact_id: objective
31
+ local_role: produces_and_consumes
32
+ description: >-
33
+ Resonera may write optimization decisions only with explicit user
34
+ confirmation when a decision feeds into what to optimize.
35
+ 5:
36
+ id: A5
37
+ artifact_id: profile
38
+ local_role: consumes
39
+ description: >-
40
+ Resonera reads this at session start to acknowledge high-confidence
41
+ entries and avoid re-deliberating settled ground.
42
+ 6:
43
+ id: A6
44
+ artifact_id: docs
45
+ local_role: consumes
46
+ description: >-
47
+ Resonera reads this first to resolve project-local artifact mappings.
@@ -0,0 +1,35 @@
1
+ EXIT_CONDITIONS:
2
+ 1:
3
+ id: E1
4
+ condition: complete
5
+ description: >-
6
+ Deliberation reached a conclusion the user chose to act on; any
7
+ requested artifacts (DECISIONS.md, VISION.md, OBJECTIVE.md, TODO.md)
8
+ were written with user approval, and the decision confidence level
9
+ was captured.
10
+ exit_signal: complete
11
+ 2:
12
+ id: E2
13
+ condition: flagged
14
+ description: >-
15
+ Deliberation concluded but the decision remains unresolved or
16
+ provisional: the user wrapped up without a clear choice, significant
17
+ tensions could not be resolved, or the conclusion contradicts prior
18
+ decisions in DECISIONS.md without explicit acknowledgment.
19
+ exit_signal: flagged
20
+ 3:
21
+ id: E3
22
+ condition: stuck
23
+ description: >-
24
+ Cannot proceed because the user's topic requires external research
25
+ the capability cannot access, or writing to an artifact was attempted
26
+ but failed due to a file access issue.
27
+ exit_signal: stuck
28
+ 4:
29
+ id: E4
30
+ condition: waiting
31
+ description: >-
32
+ No topic was provided and the user has not responded to "what's on
33
+ your mind?", or the deliberation surfaced that a different capability
34
+ is needed first and the user has not confirmed how to proceed.
35
+ exit_signal: waiting
@@ -0,0 +1,46 @@
1
+ TRIGGERS:
2
+ 1:
3
+ id: T1
4
+ description: >-
5
+ Direct invocation by name or slash command. Matches when the user
6
+ explicitly requests resonera for structured deliberation.
7
+ priority: high
8
+ patterns:
9
+ - "resonera"
10
+ - "/resonera"
11
+ 2:
12
+ id: T2
13
+ description: >-
14
+ Decision-oriented requests. Matches when the user wants help thinking
15
+ through a decision or evaluating tradeoffs.
16
+ priority: medium
17
+ patterns:
18
+ - "deliberate"
19
+ - "help me think through"
20
+ - "help me decide"
21
+ - "think this through with me"
22
+ - "let's deliberate"
23
+ - "what are the tradeoffs"
24
+ - "brainstorm"
25
+ - "rubber duck"
26
+ 3:
27
+ id: T3
28
+ description: >-
29
+ Option-comparison signals. Matches when the user is torn between
30
+ choices or wants to evaluate competing approaches.
31
+ priority: medium
32
+ patterns:
33
+ - "should I"
34
+ - "I'm torn between"
35
+ - "what's the right approach"
36
+ - "let's reason about"
37
+ 4:
38
+ id: T4
39
+ description: >-
40
+ Pre-build scoping signals. Matches when the user wants to scope or
41
+ reason about work before starting implementation.
42
+ priority: medium
43
+ patterns:
44
+ - "scope this out"
45
+ - "before I build this"
46
+ - "talk me through"
@@ -0,0 +1,77 @@
1
+ VALIDATION:
2
+ 1:
3
+ id: V1
4
+ rule: one_question_per_turn
5
+ description: >-
6
+ Resonera MUST ask exactly one question per turn. Compound questions
7
+ are not allowed. Every question MUST include a Done option.
8
+ severity: critical
9
+ checks:
10
+ - "At most one question per response"
11
+ - "Done option present"
12
+ 2:
13
+ id: V2
14
+ rule: user_approval_for_artifact_writes
15
+ description: >-
16
+ Resonera MUST NOT modify VISION.md, OBJECTIVE.md, or TODO.md without
17
+ explicit user confirmation. Present drafts and get approval.
18
+ severity: critical
19
+ checks:
20
+ - "User confirmation obtained before writing to VISION.md, OBJECTIVE.md, or TODO.md"
21
+ 3:
22
+ id: V3
23
+ rule: decision_confidence_required
24
+ description: >-
25
+ Every DECISIONS.md entry MUST have a Confidence field with one of the
26
+ protocol-defined labels: firm (DL1), provisional (DL2), or
27
+ exploratory (DL3).
28
+ severity: critical
29
+ checks:
30
+ - "Decision entry has Confidence field"
31
+ - "Confidence value is one of firm, provisional, exploratory"
32
+ 4:
33
+ id: V4
34
+ rule: preserved_decision_fields
35
+ description: >-
36
+ DECISIONS.md entries MUST preserve the canonical top-level fields:
37
+ Question, Context, Alternatives, Choice, Reasoning, Confidence,
38
+ Feeds into. Win conditions stay inside Alternatives bullets.
39
+ severity: critical
40
+ checks:
41
+ - "Decision entry has all canonical fields"
42
+ 5:
43
+ id: V5
44
+ rule: no_implementation
45
+ description: >-
46
+ Resonera MUST NOT skip to implementation. It deliberates; other
47
+ capabilities build. If the user wants to build, route to the
48
+ appropriate capability.
49
+ severity: critical
50
+ checks:
51
+ - "No code changes made during deliberation"
52
+ 6:
53
+ id: V6
54
+ rule: red_flag_phrasing_banned
55
+ description: >-
56
+ Red-flag phrasing that weakens the challenge is banned: "That sounds
57
+ reasonable", "Either way is fine", "It depends" without naming the
58
+ variable, "There is no wrong answer here", "Both options are valid"
59
+ when one conflicts with constraints.
60
+ severity: warning
61
+ checks:
62
+ - "No red-flag phrases in output"
63
+ 7:
64
+ id: V7
65
+ rule: satisfaction_authority_boundary
66
+ description: >-
67
+ When Resonera touches decision satisfaction, it may capture provisional
68
+ satisfaction with evidence but MUST NOT user-confirm satisfaction unless the
69
+ user explicitly confirms it. Missing, compacted, open, provisional, or
70
+ review-needed satisfaction state remains a caveat and review pressure;
71
+ automation must not reconstruct hidden outcomes or claim it proved user
72
+ intent.
73
+ severity: critical
74
+ checks:
75
+ - "Provisional satisfaction requires evidence"
76
+ - "Only the user confirms final satisfaction"
77
+ - "Missing or compacted satisfaction caveats are preserved"