agentera 3.0.0-dev.3 → 3.0.0-dev.5
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 +39 -6
- package/bundle/.agentera-npx-bundle.json +1 -1
- package/bundle/references/cli/agent-ready-state-contract.yaml +20 -17
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -1
- package/bundle/references/cli/capability-instruction-contract.yaml +98 -57
- package/bundle/references/cli/routing-execution-vocabulary.yaml +6 -6
- package/bundle/references/cli/update-channels.yaml +27 -7
- package/bundle/references/cli/vocabulary-index.yaml +3 -3
- package/bundle/references/cli/vocabulary.md +28 -19
- package/bundle/registry.json +1 -1
- package/bundle/skills/agentera/SKILL.md +38 -21
- package/bundle/skills/agentera/agents/dokumentera.toml +1 -1
- package/bundle/skills/agentera/agents/hej.toml +1 -1
- package/bundle/skills/agentera/agents/inspektera.toml +1 -1
- package/bundle/skills/agentera/agents/inspirera.toml +1 -1
- package/bundle/skills/agentera/agents/optimera.toml +1 -1
- package/bundle/skills/agentera/agents/orkestrera.toml +1 -1
- package/bundle/skills/agentera/agents/planera.toml +1 -1
- package/bundle/skills/agentera/agents/profilera.toml +1 -1
- package/bundle/skills/agentera/agents/realisera.toml +1 -1
- package/bundle/skills/agentera/agents/resonera.toml +1 -1
- package/bundle/skills/agentera/agents/visionera.toml +1 -1
- package/bundle/skills/agentera/agents/visualisera.toml +1 -1
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +26 -13
- package/bundle/skills/agentera/capability_schema_contract.yaml +33 -14
- package/bundle/skills/agentera/references/contract.md +2 -2
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +1 -1
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +15 -36
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +14 -0
- package/bundle/skills/hej/SKILL.md +1 -1
- package/dist/analytics/usageStats.js +23 -1
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/capabilities/dokumentera/instructions.js +6 -0
- package/dist/capabilities/dokumentera/instructions.js.map +1 -0
- package/dist/capabilities/hej/instructions.js +6 -0
- package/dist/capabilities/hej/instructions.js.map +1 -0
- package/dist/capabilities/index.js +38 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/inspektera/instructions.js +6 -0
- package/dist/capabilities/inspektera/instructions.js.map +1 -0
- package/dist/capabilities/inspirera/instructions.js +6 -0
- package/dist/capabilities/inspirera/instructions.js.map +1 -0
- package/dist/capabilities/optimera/instructions.js +6 -0
- package/dist/capabilities/optimera/instructions.js.map +1 -0
- package/dist/capabilities/orkestrera/instructions.js +6 -0
- package/dist/capabilities/orkestrera/instructions.js.map +1 -0
- package/dist/capabilities/planera/instructions.js +6 -0
- package/dist/capabilities/planera/instructions.js.map +1 -0
- package/dist/capabilities/profilera/instructions.js +6 -0
- package/dist/capabilities/profilera/instructions.js.map +1 -0
- package/dist/capabilities/realisera/instructions.js +6 -0
- package/dist/capabilities/realisera/instructions.js.map +1 -0
- package/dist/capabilities/resonera/instructions.js +6 -0
- package/dist/capabilities/resonera/instructions.js.map +1 -0
- package/dist/capabilities/visionera/instructions.js +6 -0
- package/dist/capabilities/visionera/instructions.js.map +1 -0
- package/dist/capabilities/visualisera/instructions.js +6 -0
- package/dist/capabilities/visualisera/instructions.js.map +1 -0
- package/dist/cli/capabilityContext.js +92 -26
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/capability.js +1 -8
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/doctor.js +42 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/report.js +5 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/state.js +22 -11
- package/dist/cli/commands/state.js.map +1 -1
- package/dist/cli/commands/validate.js +12 -2
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/verify.js +6 -0
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/dispatch.js +508 -172
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/errors.js +53 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/help.js +201 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/orientation.js +9 -6
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/stateQuery.js +7 -0
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/todoMarkdown.js +33 -0
- package/dist/cli/todoMarkdown.js.map +1 -0
- package/dist/hooks/common.js +0 -2
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/validateArtifact.js +10 -8
- package/dist/hooks/validateArtifact.js.map +1 -1
- package/dist/registries/capabilityContract.js +12 -11
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js +171 -0
- package/dist/registries/evaluatorHandoffContract.js.map +1 -0
- package/dist/setup/codex.js +146 -5
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/doctor.js +22 -1
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/smokeChecks.js +111 -0
- package/dist/setup/smokeChecks.js.map +1 -0
- package/dist/upgrade/channels.js +9 -3
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -1
- package/dist/upgrade/migrateArtifactsV1ToV2.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +121 -0
- package/dist/upgrade/nextMajorDoctor.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +19 -3
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/versionResolution.js +4 -4
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +1 -1
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js +11 -3
- package/dist/validate/capability.js.map +1 -1
- package/package.json +3 -3
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
- package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
- package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
- package/dist/cli/commands/backfill.js +0 -84
- package/dist/cli/commands/backfill.js.map +0 -1
- package/dist/core/git.js +0 -43
- package/dist/core/git.js.map +0 -1
- package/dist/state/progressCommit.js +0 -289
- package/dist/state/progressCommit.js.map +0 -1
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
# HEJ
|
|
2
|
-
|
|
3
|
-
**Holistic Entry Junction. Orient, Route, Activate**
|
|
4
|
-
|
|
5
|
-
Single entry point to the agentera suite. Detects fresh vs returning, delivers a situational briefing, routes to the right capability. Same on first install and 100th session. A bare user message exactly `hej` uses this same briefing path, not generic greeting behavior.
|
|
6
|
-
|
|
7
|
-
Each invocation = one orientation. Uses the CLI composite briefing first,
|
|
8
|
-
writes nothing.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## State artifacts
|
|
13
|
-
|
|
14
|
-
Glyph: **⌂** (SG1). Hej reads suite state through `agentera hej` and writes
|
|
15
|
-
nothing. It may fall back to direct reads only when the composite command fails
|
|
16
|
-
or explicitly asks for fallback.
|
|
17
|
-
|
|
18
|
-
### CLI-first access
|
|
19
|
-
|
|
20
|
-
For returning projects, run one composite command before any individual state
|
|
21
|
-
access:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npx -y agentera prime
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Use that output to render the dashboard and select the concrete next action. Do
|
|
28
|
-
not relay raw CLI lines as the user-facing briefing. Source labels such as
|
|
29
|
-
`mode:`, `profile:`, `v1_migration:`, `health:`, `issues:`, `plan:`,
|
|
30
|
-
`objective:`, `attention:`, `next_action:`, `source_contract:`, and the
|
|
31
|
-
compatibility `bundle:` installed-app status object are parsing aids, not
|
|
32
|
-
dashboard lines. Do not run `agentera plan`, `agentera progress`, `agentera
|
|
33
|
-
health`, `agentera todo`, `agentera decisions`, or `agentera objective` as part
|
|
34
|
-
of normal hej briefing assembly. Do not read raw
|
|
35
|
-
`.agentera/*.yaml` files for normal hej orientation. If a normal dashboard field
|
|
36
|
-
is missing from `agentera hej`, fix or extend the composite CLI contract instead
|
|
37
|
-
of adding routine fallback reads. Use top-level fallback commands only when
|
|
38
|
-
`agentera hej` fails or explicitly reports fallback-only recovery.
|
|
39
|
-
|
|
40
|
-
Resolve `RESOLVED_AGENTERA_HOME` with the app-home precedence `AGENTERA_HOME`
|
|
41
|
-
when set, otherwise the platform data home, then run
|
|
42
|
-
the installed command once. Do not preflight app health with `glob`, `grep`,
|
|
43
|
-
`read`, `ls`, `python`, `doctor`, `--help`,
|
|
44
|
-
`registry.json`, or `.agentera-bundle.json`.
|
|
45
|
-
Never combine the app-home assignment with the same shell command that expands
|
|
46
|
-
the managed app script path; shell expansion can otherwise turn an unset
|
|
47
|
-
`AGENTERA_HOME` into `npx -y agentera` before the assignment takes effect.
|
|
48
|
-
|
|
49
|
-
Recovery copy must be plain-language and recommendation-first. Never ask users
|
|
50
|
-
to choose between technical install concepts, internal directory states,
|
|
51
|
-
command-mode flags, or package-layout terms. Say what happened, what changed,
|
|
52
|
-
what the safe fix does, and what it will not touch. The safe fix must say it will
|
|
53
|
-
not edit project files, shell startup files, or unknown directories. Good recovery labels are `Use the safe fix
|
|
54
|
-
(Recommended)`, `Choose a different directory`, and `Stop`.
|
|
55
|
-
|
|
56
|
-
If the command cannot execute because `AGENTERA_HOME` names the old default
|
|
57
|
-
`$HOME/.agents/agentera` and `npx -y agentera` is missing,
|
|
58
|
-
do not require a successful failed CLI invocation and do not first ask the user to
|
|
59
|
-
unset `AGENTERA_HOME`. Say: `Agentera found an old or broken local copy of
|
|
60
|
-
itself. The safe fix is to install a fresh copy in the normal Agentera directory.`
|
|
61
|
-
Then show this preview command and say it changes nothing:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npx -y agentera@latest doctor
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
That preview writes nothing. Because no explicit `--install-root` is supplied,
|
|
68
|
-
upgrade can choose the normal platform app directory and preview repair for app
|
|
69
|
-
files, managed runtime surfaces, and cleanup of the old directory. Ask for
|
|
70
|
-
explicit approval before writes, using plain wording such as
|
|
71
|
-
`Approve the safe Agentera repair at <directory>`. Then apply the same safe repair path:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npx -y agentera@latest prime
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
After apply, retry the installed command from the platform app home reported by
|
|
78
|
-
the upgrade output, not from the old default directory. If the command exits
|
|
79
|
-
successfully, inspect the CLI-provided `bundle.status` installed-app status
|
|
80
|
-
object. Only `up_to_date` passes the installed Agentera app gate for normal briefing.
|
|
81
|
-
The object also carries `appHome`, `managedAppRoot`, `userDataRoot`,
|
|
82
|
-
`expectedVersionSource`, `bundle.dryRunCommand`, `bundle.applyCommand`, and
|
|
83
|
-
approval text. If the installed command cannot execute, is out of date, missing
|
|
84
|
-
`hej`, fails before argparse, or reports manual-review-needed/repair-needed status, tell
|
|
85
|
-
the user `Agentera found an old or broken local copy of itself.` Then preview the
|
|
86
|
-
repair with the CLI-provided command when present:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
npx -y agentera@latest doctor
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Do not run the matching apply command until the user explicitly approves the
|
|
93
|
-
same Agentera repair and directory.
|
|
94
|
-
After apply, retry `npx -y agentera prime`; do not treat local checkout
|
|
95
|
-
fallback as installed-app success. If `AGENTERA_HOME` names the old default
|
|
96
|
-
`$HOME/.agents/agentera`, no explicit `--install-root` was supplied, and
|
|
97
|
-
`npx -y agentera` is missing or out of date, show the normal
|
|
98
|
-
Agentera directory preview above instead of first asking the user to unset
|
|
99
|
-
`AGENTERA_HOME`; do not claim to prove where the environment value came from. If
|
|
100
|
-
`AGENTERA_HOME` points at any other missing path, file, or directory with unknown
|
|
101
|
-
files, say: `Agentera was told to use a directory it cannot safely use. Choose a
|
|
102
|
-
different Agentera directory, or approve --force only after checking that directory is
|
|
103
|
-
safe to replace.`
|
|
104
|
-
|
|
105
|
-
If doctor reports a leftover 1.x managed marker block in
|
|
106
|
-
shell startup files, say plainly that Agentera will not edit those files.
|
|
107
|
-
Cleanup is user-owned manual cleanup, not a repair write.
|
|
108
|
-
|
|
109
|
-
Use `agentera query <artifact-name> --format json|yaml` only for advanced or
|
|
110
|
-
custom artifact inspection when no top-level command serves the needed state.
|
|
111
|
-
|
|
112
|
-
### Artifact path resolution
|
|
113
|
-
|
|
114
|
-
Only if `agentera hej` fails and fallback raw artifact access is explicitly
|
|
115
|
-
needed, check `.agentera/docs.yaml` for path mappings before reading artifacts.
|
|
116
|
-
Without a mapping, use the default layout:
|
|
117
|
-
|
|
118
|
-
- Human-facing artifacts at the project root (Markdown): `TODO.md`, `CHANGELOG.md`, `DESIGN.md`
|
|
119
|
-
- Agent-facing artifacts in `.agentera/` (YAML): `progress.yaml`, `decisions.yaml`, `health.yaml`, `plan.yaml`, `docs.yaml`, `vision.yaml`, and per-objective `objective.yaml` / `experiments.yaml`
|
|
120
|
-
|
|
121
|
-
Canonical names are identifiers, not literal paths. PROFILE.md is global:
|
|
122
|
-
`$PROFILERA_PROFILE_DIR/PROFILE.md`, default `$XDG_DATA_HOME/agentera/PROFILE.md`.
|
|
123
|
-
|
|
124
|
-
### Contract values
|
|
125
|
-
|
|
126
|
-
Use protocol tokens by ID where needed: severity arrows VT5-VT8, trend arrows
|
|
127
|
-
VT12-VT13, progress bar VT18, separator VT16, list item VT15, section divider
|
|
128
|
-
VT14, flow arrow VT17, skill glyphs SG1-SG12, exits EX1-EX4, issues SI1-SI4.
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Step 0: Detect mode
|
|
133
|
-
|
|
134
|
-
Run the resolved installed `agentera hej` and use its `mode` field. If the
|
|
135
|
-
installed-app status check reports out-of-date or blocked, show the CLI-provided
|
|
136
|
-
refresh preview before normal mode handling.
|
|
137
|
-
|
|
138
|
-
- **No artifacts found** → Step 1a (first time on this project)
|
|
139
|
-
- **Artifacts found** → Step 1b (returning to known project)
|
|
140
|
-
|
|
141
|
-
Narration voice: warm, brief, unscripted.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Step 0.5: CLI-owned checks
|
|
146
|
-
|
|
147
|
-
Do not run separate v1 artifact or PROFILE.md checks during normal hej
|
|
148
|
-
orientation. `agentera hej` owns those checks and emits the mode, profile status,
|
|
149
|
-
`v1_migration.detected`, `v1_migration.affected_files`,
|
|
150
|
-
`v1_migration.dry_run_command`, `v1_migration.apply_command`, `project_integration.recommendation`, `project_integration.message`, `project_integration.dry_run_command`, `project_integration.apply_command`, attention items,
|
|
151
|
-
and next action. When `project_integration.recommendation` is `upgrade`, explain the plain-language `project_integration.message`, show the preview command (`project_integration.dry_run_command`; it changes nothing), and ask before `project_integration.apply_command`. When it is `stay`, do not suggest upgrade. User-facing upgrade commands omit `--project` because the CLI defaults to the current repo. Render those fields; do not spend additional tool calls on
|
|
152
|
-
`.agentera/*.md`, `.agentera/*.yaml`, `VISION.md`, or global profile-path
|
|
153
|
-
discovery. Treat `v1_migration.dry_run_command` as the CLI-supplied preview and
|
|
154
|
-
tell the user it changes nothing. Ask before any upgrade apply command, and only run
|
|
155
|
-
`v1_migration.apply_command` after confirmation.
|
|
156
|
-
The artifacts phase migrates supported v1 Markdown files to YAML with backups
|
|
157
|
-
after preview and confirmation.
|
|
158
|
-
|
|
159
|
-
If `v1_migration.detected` is false, emit no upgrade notice. Profile status is
|
|
160
|
-
also CLI-owned: render `profile: loaded` without warning, and render
|
|
161
|
-
`profile.suggested_action` or a missing-profile attention item only when
|
|
162
|
-
`agentera hej` supplies one.
|
|
163
|
-
|
|
164
|
-
If `npx skills update` refreshed only the visible skill and `/agentera` next
|
|
165
|
-
finds missing or out-of-date app files, explain in plain language that Agentera
|
|
166
|
-
also needs to repair its local app copy; the visible skill update alone is not
|
|
167
|
-
enough. Package-manager repair commands remain opt-in through
|
|
168
|
-
`--update-packages`.
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Step 1a: Welcome
|
|
173
|
-
|
|
174
|
-
First impression: the colleague meets a new project.
|
|
175
|
-
|
|
176
|
-
1. **Use composite state**: Build the welcome from `agentera hej` output only.
|
|
177
|
-
Do not scan README files, git history, languages, framework files, or project
|
|
178
|
-
size during bare orientation.
|
|
179
|
-
|
|
180
|
-
2. **Share what's available**: lead with the suggested capability from
|
|
181
|
-
`next_action`. Do not enumerate the full suite unless asked.
|
|
182
|
-
|
|
183
|
-
3. **Route**: ask what they'd like to do with a free-form prompt. Do not use a
|
|
184
|
-
native question menu on the initial welcome unless the user explicitly asked
|
|
185
|
-
for bounded choices. Invoke a capability only after the user confirms it.
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Step 1b: Briefing
|
|
190
|
-
|
|
191
|
-
Show where things stand.
|
|
192
|
-
|
|
193
|
-
1. **Use composite state**: Build the briefing from `agentera hej` output.
|
|
194
|
-
- Use its mode, profile, health, issue counts, plan progress, objective,
|
|
195
|
-
attention, and next_action fields.
|
|
196
|
-
- Do not issue individual artifact queries during normal returning-project
|
|
197
|
-
orientation.
|
|
198
|
-
- Do not open raw `.agentera/*.yaml` files unless the composite command fails
|
|
199
|
-
or names a fallback need.
|
|
200
|
-
- If exceptional fallback is required, prefer top-level commands such as
|
|
201
|
-
`agentera plan`, `agentera progress`, `agentera health`, `agentera todo`,
|
|
202
|
-
`agentera decisions`, `agentera objective`, and `agentera experiments`.
|
|
203
|
-
Missing normal dashboard fields should be repaired in `agentera hej`
|
|
204
|
-
instead of weakening the one-command path.
|
|
205
|
-
- Keep `agentera query` for advanced/custom inspection only.
|
|
206
|
-
|
|
207
|
-
2. **Brief them**: concise status, only what exists. No empty sections.
|
|
208
|
-
Show the agentera logo.
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
┌─┐┌─┐┌─┐┌┐┌┌┬┐┌─┐┬─┐┌─┐
|
|
212
|
-
├─┤│ ┬├┤ │││ │ ├┤ ├┬┘├─┤
|
|
213
|
-
┴ ┴└─┘└─┘┘└┘ ┴ └─┘┴└─┴ ┴
|
|
214
|
-
|
|
215
|
-
─── status ─────────────────────────────
|
|
216
|
-
|
|
217
|
-
⛶ health [⮉|⮋] [grade] ([worst dimension: grade])
|
|
218
|
-
⇶ issues N critical · M degraded · J annoying
|
|
219
|
-
≡ plan [██████▓░░░] N/M tasks
|
|
220
|
-
⎘ optim [metric] [current] → [target]
|
|
221
|
-
♾ profile [loaded | not found]
|
|
222
|
-
|
|
223
|
-
[1-2 sentence narrative read: what shipped, what's moving, what needs eyes.
|
|
224
|
-
Interpretation, not metrics. Closes the status section before attention.]
|
|
225
|
-
|
|
226
|
-
─── attention ──────────────────────────
|
|
227
|
-
|
|
228
|
-
⇶ [critical items, triple arrow for critical]
|
|
229
|
-
⇉ [degraded items, double arrow for degraded]
|
|
230
|
-
→ [normal items, single arrow for normal]
|
|
231
|
-
⇢ [annoying items, dashed arrow for annoying]
|
|
232
|
-
|
|
233
|
-
─── next ───────────────────────────────
|
|
234
|
-
|
|
235
|
-
suggested → [glyph] [capability] ([reason])
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
Output constraint: ≤120 words total briefing, ≤15 words per routing suggestion.
|
|
239
|
-
|
|
240
|
-
**Exit marker**: after the closing code fence of the dashboard, emit `⌂ hej · <status>` on its own line, followed by a one-sentence summary of what you delivered. For `waiting`, `flagged`, or `stuck`, add a `▸` bullet below the summary identifying what the user needs to decide or act on next. The exit marker is mandatory on every invocation regardless of mode (fresh welcome or returning briefing).
|
|
241
|
-
|
|
242
|
-
**Formatting rules**:
|
|
243
|
-
- Each status line uses the skill glyph that owns that data
|
|
244
|
-
- Severity arrows (VT5-VT8) mark attention items by urgency
|
|
245
|
-
- Trend arrows (VT12/VT13) show health trajectory
|
|
246
|
-
- Progress bars (VT18) show plan completion visually
|
|
247
|
-
- The inline separator (VT16) joins counts on a single line
|
|
248
|
-
- Lead with status metrics, then the narrative read inside the status section
|
|
249
|
-
- The narrative read is colleague interpretation; metric lines above it are evidence
|
|
250
|
-
- The issues summary line lists critical, degraded, and annoying counts only;
|
|
251
|
-
normal-priority items belong in attention with → (SI3), not on the summary line
|
|
252
|
-
- Omit any line whose source artifact is missing
|
|
253
|
-
- Omit any section that would be empty (e.g., no attention items = no attention section)
|
|
254
|
-
|
|
255
|
-
3. **Attention items**: priority order with severity arrows (SI1-SI4):
|
|
256
|
-
- ⇶ (SI1) Critical issues, degrading health dimensions
|
|
257
|
-
- ⇉ (SI2) Blocked/overdue plan tasks, stale artifacts (plan-relative per contract staleness detection; fall back to PROGRESS.md recency heuristic when no plan context exists), overdue health audits (hybrid time/cycle staleness via `AGENTERA_INSPEKTERA_MAX_AGE_DAYS` default 30 and `AGENTERA_INSPEKTERA_MAX_CYCLES` default 10; stale when either axis exceeds its threshold), loop stop-condition triggers
|
|
258
|
-
- → (SI3) Standard work: features, improvements, routine tasks
|
|
259
|
-
- ⇢ (SI4) Unresolved exploratory decisions
|
|
260
|
-
|
|
261
|
-
Nothing? Say so. A clean bill of health is useful.
|
|
262
|
-
|
|
263
|
-
4. **Select the concrete next action before selecting the skill**.
|
|
264
|
-
- The routing suggestion MUST name the artifact item it would act on.
|
|
265
|
-
- Valid objects: `PLAN Task N: <title>`, `TODO: <item>`, `DECISION N follow-up`, `OBJECTIVE: <metric>`, or `VISION refresh`.
|
|
266
|
-
- A skill name without a concrete object is not a valid suggestion.
|
|
267
|
-
|
|
268
|
-
Priority order. SG codes are internal protocol references; never render them
|
|
269
|
-
in user-facing handoff labels:
|
|
270
|
-
- Active PLAN with pending tasks → suggest ⎈ orkestrera for the first unblocked pending task.
|
|
271
|
-
- Critical or degrading health → suggest ⛶ inspektera or ⧉ realisera for the named finding.
|
|
272
|
-
- Stale health audit (CLI `health.stale=true`) with no higher-priority work → suggest ⛶ inspektera for `HEALTH: Audit N stale`.
|
|
273
|
-
- Active non-closed OBJECTIVE with stalled or missing metric evidence → suggest ⎘ optimera for that metric.
|
|
274
|
-
- TODO.md open items → select the highest-severity open item, then route by shape: narrow one-cycle TODOs suggest ⧉ realisera; contract-shaped, multi-surface, dependency-heavy, migration, schema, metadata, validation, or acceptance-risky TODOs suggest ≡ planera first. Prefer items that unlock product evidence or future plans.
|
|
275
|
-
- Pending DECISIONS.md follow-up → suggest ❈ resonera for the named unresolved decision.
|
|
276
|
-
- Vision exists but no plan, objective, decision follow-up, or TODO work is active → suggest ≡ planera.
|
|
277
|
-
- No vision, no executable follow-ups, and no active plan → suggest ⛥ visionera to choose a direction.
|
|
278
|
-
|
|
279
|
-
Do not let `healthy + plan complete → ⛥` override active TODO, OBJECTIVE, DECISIONS, or a newer active PLAN. A completed plan means "look for the next executable follow-up," not automatically "refresh vision."
|
|
280
|
-
|
|
281
|
-
5. **Route**: present one concrete suggestion and let the user choose. No coercion.
|
|
282
|
-
- Do not list generic skill options unless the user asks for the full menu.
|
|
283
|
-
- The waiting bullet should ask whether to run the named action, not ask the user to pick from skills.
|
|
284
|
-
- On the initial Agentera/hej brief, use a free-form continuation prompt rather than a native question menu unless the user asked for bounded choices or the suggested next step is a state-changing Proceed/Cancel handoff.
|
|
285
|
-
- Mid-conversation, use the native question tool only for at least two meaningful non-terminal next actions or a consequential Proceed/Cancel decision; `Done` and free-form/custom answer affordances do not count as alternatives.
|
|
286
|
-
- State-changing handoffs are consequential Proceed/Cancel decisions even when there is only one suggested action. State-changing means the proposed next step may write artifacts, edit code, run optimization or orchestration cycles, apply migrations, refresh app/runtime state, or otherwise mutate project/runtime state.
|
|
287
|
-
- Use the behavior rule first, with common examples such as ⧉ realisera, ≡ planera when creating or updating plans, ▤ dokumentera when writing docs, ⎘ optimera when running or applying optimization cycles, and ⎈ orkestrera when dispatching cycles.
|
|
288
|
-
- For one non-mutating suggested action, clear free-form acceptance such as `yes`, `start`, `do it`, or `run <capability>` confirms that suggestion. Ambiguous replies get one clarifying question.
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## Step 2: Route
|
|
293
|
-
|
|
294
|
-
Narration voice: "Kicking off [skill]..." or similarly brief.
|
|
295
|
-
|
|
296
|
-
Invoke the capability. Hej's work is done.
|
|
297
|
-
|
|
298
|
-
Unclear mapping? Ask **one** clarifying question. No compound questions.
|
|
299
|
-
|
|
300
|
-
---
|
|
301
|
-
|
|
302
|
-
## Safety rails
|
|
303
|
-
|
|
304
|
-
<critical>
|
|
305
|
-
- NEVER execute implementation work. Hej orients and routes; it does not build, audit, plan, or decide.
|
|
306
|
-
- NEVER dump full artifact contents verbatim. Summarize concisely; the user can read the files themselves.
|
|
307
|
-
- NEVER skip the briefing in returning mode. The user needs context before choosing a direction.
|
|
308
|
-
- NEVER assume what the user wants without asking. Present the suggestion, then wait for confirmation.
|
|
309
|
-
- NEVER modify any state artifact. Hej is strictly read-only.
|
|
310
|
-
- NEVER route to a capability without the user's consent. Suggest, don't force.
|
|
311
|
-
</critical>
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
## Exit signals
|
|
316
|
-
|
|
317
|
-
Report one of these statuses at workflow completion (protocol refs: EX1-EX4).
|
|
318
|
-
|
|
319
|
-
Format: emit `⌂ hej · <status>` on its own line below the dashboard's closing code fence, followed by a one-sentence summary of what was delivered. For `flagged` (EX2), `stuck` (EX3), and `waiting` (EX4), add a `▸` (VT15) bullet below the summary identifying what the user needs to decide or act on next. The exit marker is mandatory and uses hej's canonical glyph `⌂` (SG1, U+2302).
|
|
320
|
-
|
|
321
|
-
- **complete** (EX1): Briefing delivered (or welcome shown) and user successfully routed to a capability.
|
|
322
|
-
- **flagged** (EX2): Briefing delivered but critical attention items were found: critical issues, degrading health, loop stop-condition triggers. Each concern is listed explicitly.
|
|
323
|
-
- **stuck** (EX3): Cannot orient: the working directory is not a code project, no readable files exist, or permissions prevent scanning.
|
|
324
|
-
- **waiting** (EX4): Briefing or welcome delivered, suggestion made, awaiting user input on which direction to take.
|
|
325
|
-
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
## Cross-capability integration
|
|
329
|
-
|
|
330
|
-
Hej is the suite entry point. It reads other capabilities' artifacts, produces
|
|
331
|
-
no artifact, and outputs only a briefing plus routing suggestion.
|