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.
- package/README.md +6 -45
- package/bundle/.agentera-npx-bundle.json +4 -0
- package/bundle/references/adapters/cursor.md +213 -0
- package/bundle/references/adapters/opencode.md +530 -0
- package/bundle/references/adapters/package-manifest-interface-model.yaml +337 -0
- package/bundle/references/adapters/package-registry.yaml +247 -0
- package/bundle/references/adapters/package-surface-characterization.md +48 -0
- package/bundle/references/adapters/runtime-adapter-characterization.md +79 -0
- package/bundle/references/adapters/runtime-adapter-interface-model.yaml +200 -0
- package/bundle/references/adapters/runtime-adapter-registry.yaml +548 -0
- package/bundle/references/adapters/runtime-feature-parity.md +189 -0
- package/bundle/references/analysis/benchmark.md +267 -0
- package/bundle/references/analysis/startup-measurement-contract.yaml +424 -0
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +288 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +950 -0
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +241 -0
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +355 -0
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +278 -0
- package/bundle/references/cli/capability-instruction-contract.yaml +123 -0
- package/bundle/references/cli/capability-tool-classification.yaml +53 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +281 -0
- package/bundle/references/cli/update-channels.yaml +147 -0
- package/bundle/references/cli/vocabulary-index.yaml +160 -0
- package/bundle/references/cli/vocabulary.md +566 -0
- package/bundle/references/meta/documentation-inventory.md +43 -0
- package/bundle/references/v1-section-mapping.md +47 -0
- package/bundle/registry.json +39 -0
- package/bundle/skills/agentera/.claude-plugin/plugin.json +27 -0
- package/bundle/skills/agentera/SKILL.md +470 -0
- package/bundle/skills/agentera/agents/dokumentera.toml +6 -0
- package/bundle/skills/agentera/agents/hej.toml +6 -0
- package/bundle/skills/agentera/agents/inspektera.toml +6 -0
- package/bundle/skills/agentera/agents/inspirera.toml +6 -0
- package/bundle/skills/agentera/agents/optimera.toml +6 -0
- package/bundle/skills/agentera/agents/orkestrera.toml +6 -0
- package/bundle/skills/agentera/agents/planera.toml +6 -0
- package/bundle/skills/agentera/agents/profilera.toml +6 -0
- package/bundle/skills/agentera/agents/realisera.toml +6 -0
- package/bundle/skills/agentera/agents/resonera.toml +6 -0
- package/bundle/skills/agentera/agents/visionera.toml +6 -0
- package/bundle/skills/agentera/agents/visualisera.toml +6 -0
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +428 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/artifacts.yaml +73 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/triggers.yaml +35 -0
- package/bundle/skills/agentera/capabilities/dokumentera/schemas/validation.yaml +139 -0
- package/bundle/skills/agentera/capabilities/hej/instructions.md +331 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/exit.yaml +32 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/triggers.yaml +58 -0
- package/bundle/skills/agentera/capabilities/hej/schemas/validation.yaml +55 -0
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +514 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +76 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/exit.yaml +36 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/triggers.yaml +38 -0
- package/bundle/skills/agentera/capabilities/inspektera/schemas/validation.yaml +113 -0
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +280 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/inspirera/schemas/validation.yaml +58 -0
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +437 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/artifacts.yaml +69 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/optimera/schemas/validation.yaml +91 -0
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +433 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +64 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/triggers.yaml +42 -0
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +107 -0
- package/bundle/skills/agentera/capabilities/planera/instructions.md +368 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +62 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/exit.yaml +33 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/triggers.yaml +34 -0
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +61 -0
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +419 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/artifacts.yaml +18 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/triggers.yaml +45 -0
- package/bundle/skills/agentera/capabilities/profilera/schemas/validation.yaml +57 -0
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +403 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/artifacts.yaml +80 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/triggers.yaml +39 -0
- package/bundle/skills/agentera/capabilities/realisera/schemas/validation.yaml +110 -0
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +329 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +47 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/triggers.yaml +46 -0
- package/bundle/skills/agentera/capabilities/resonera/schemas/validation.yaml +77 -0
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +309 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/artifacts.yaml +57 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/exit.yaml +35 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/triggers.yaml +41 -0
- package/bundle/skills/agentera/capabilities/visionera/schemas/validation.yaml +74 -0
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +400 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/artifacts.yaml +44 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/exit.yaml +34 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/triggers.yaml +33 -0
- package/bundle/skills/agentera/capabilities/visualisera/schemas/validation.yaml +80 -0
- package/bundle/skills/agentera/capability_schema_contract.yaml +385 -0
- package/bundle/skills/agentera/protocol.yaml +463 -0
- package/bundle/skills/agentera/references/contract.md +1039 -0
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +60 -0
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +461 -0
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +55 -0
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +402 -0
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +373 -0
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +484 -0
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +399 -0
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +342 -0
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +325 -0
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +110 -0
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +262 -0
- package/bundle/skills/hej/.claude-plugin/plugin.json +6 -0
- package/bundle/skills/hej/SKILL.md +69 -0
- package/bundle/skills/hej/agents/hej.toml +11 -0
- package/bundle/skills/hej/agents/openai.yaml +8 -0
- package/dist/analytics/extractCorpus.js +1791 -0
- package/dist/analytics/extractCorpus.js.map +1 -0
- package/dist/analytics/usageStats.js +487 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/bin/agentera.js +4 -0
- package/dist/bin/agentera.js.map +1 -0
- package/dist/cli/appContext.js +226 -0
- package/dist/cli/appContext.js.map +1 -0
- package/dist/cli/argvalidate.js +41 -0
- package/dist/cli/argvalidate.js.map +1 -0
- package/dist/cli/capabilityContext.js +2421 -0
- package/dist/cli/capabilityContext.js.map +1 -0
- package/dist/cli/commands/backfill.js +84 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/capability.js +44 -0
- package/dist/cli/commands/capability.js.map +1 -0
- package/dist/cli/commands/compact.js +148 -0
- package/dist/cli/commands/compact.js.map +1 -0
- package/dist/cli/commands/doctor.js +180 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/lint.js +179 -0
- package/dist/cli/commands/lint.js.map +1 -0
- package/dist/cli/commands/prime.js +544 -0
- package/dist/cli/commands/prime.js.map +1 -0
- package/dist/cli/commands/query.js +346 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/report.js +210 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/schema.js +306 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/state.js +1012 -0
- package/dist/cli/commands/state.js.map +1 -0
- package/dist/cli/commands/upgrade.js +48 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.js +519 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.js +204 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/dispatch.js +958 -0
- package/dist/cli/dispatch.js.map +1 -0
- package/dist/cli/orientation.js +595 -0
- package/dist/cli/orientation.js.map +1 -0
- package/dist/cli/prime-blob.js +3 -0
- package/dist/cli/prime-blob.js.map +1 -0
- package/dist/cli/stateQuery.js +292 -0
- package/dist/cli/stateQuery.js.map +1 -0
- package/dist/cli/structured.js +18 -0
- package/dist/cli/structured.js.map +1 -0
- package/dist/core/difflib.js +274 -0
- package/dist/core/difflib.js.map +1 -0
- package/dist/core/git.js +43 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/paths.js +50 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/pyjson.js +101 -0
- package/dist/core/pyjson.js.map +1 -0
- package/dist/core/sourceRoot.js +72 -0
- package/dist/core/sourceRoot.js.map +1 -0
- package/dist/core/toml.js +11 -0
- package/dist/core/toml.js.map +1 -0
- package/dist/core/yaml.js +25 -0
- package/dist/core/yaml.js.map +1 -0
- package/dist/eval/evalSkills.js +258 -0
- package/dist/eval/evalSkills.js.map +1 -0
- package/dist/eval/semanticEval.js +148 -0
- package/dist/eval/semanticEval.js.map +1 -0
- package/dist/eval/semanticFixtures.js +227 -0
- package/dist/eval/semanticFixtures.js.map +1 -0
- package/dist/hooks/common.js +160 -0
- package/dist/hooks/common.js.map +1 -0
- package/dist/hooks/compaction.js +935 -0
- package/dist/hooks/compaction.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +19 -0
- package/dist/hooks/cursorPreToolUse.js.map +1 -0
- package/dist/hooks/cursorSessionStart.js +71 -0
- package/dist/hooks/cursorSessionStart.js.map +1 -0
- package/dist/hooks/sessionStart.js +209 -0
- package/dist/hooks/sessionStart.js.map +1 -0
- package/dist/hooks/sessionStop.js +212 -0
- package/dist/hooks/sessionStop.js.map +1 -0
- package/dist/hooks/validateArtifact.js +933 -0
- package/dist/hooks/validateArtifact.js.map +1 -0
- package/dist/registries/artifactRegistry.js +206 -0
- package/dist/registries/artifactRegistry.js.map +1 -0
- package/dist/registries/capabilityContract.js +310 -0
- package/dist/registries/capabilityContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +641 -0
- package/dist/registries/packageRegistry.js.map +1 -0
- package/dist/registries/runtimeAdapterRegistry.js +315 -0
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -0
- package/dist/setup/codex.js +1056 -0
- package/dist/setup/codex.js.map +1 -0
- package/dist/setup/copilot.js +227 -0
- package/dist/setup/copilot.js.map +1 -0
- package/dist/setup/cursor.js +127 -0
- package/dist/setup/cursor.js.map +1 -0
- package/dist/setup/doctor.js +1276 -0
- package/dist/setup/doctor.js.map +1 -0
- package/dist/state/installRoot.js +279 -0
- package/dist/state/installRoot.js.map +1 -0
- package/dist/state/progressCommit.js +289 -0
- package/dist/state/progressCommit.js.map +1 -0
- package/dist/state/startupAnalysis.js +1953 -0
- package/dist/state/startupAnalysis.js.map +1 -0
- package/dist/upgrade/appModel.js +189 -0
- package/dist/upgrade/appModel.js.map +1 -0
- package/dist/upgrade/channels.js +208 -0
- package/dist/upgrade/channels.js.map +1 -0
- package/dist/upgrade/compatibility.js +201 -0
- package/dist/upgrade/compatibility.js.map +1 -0
- package/dist/upgrade/doctor.js +373 -0
- package/dist/upgrade/doctor.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +332 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +484 -0
- package/dist/upgrade/runtimeMigration.js.map +1 -0
- package/dist/upgrade/upgradeCommands.js +36 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +299 -0
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -0
- package/dist/upgrade/versionResolution.js +179 -0
- package/dist/upgrade/versionResolution.js.map +1 -0
- package/dist/validate/appHomeContract.js +150 -0
- package/dist/validate/appHomeContract.js.map +1 -0
- package/dist/validate/capability.js +412 -0
- package/dist/validate/capability.js.map +1 -0
- package/dist/validate/crossCapability.js +145 -0
- package/dist/validate/crossCapability.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +772 -0
- package/dist/validate/lifecycleAdapters.js.map +1 -0
- package/dist/validate/selfAudit.js +107 -0
- package/dist/validate/selfAudit.js.map +1 -0
- package/package.json +28 -8
- package/LICENSE +0 -201
- package/bin/agentera.mjs +0 -50
- package/lib/exec.mjs +0 -116
- 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"
|