@ancleto/spec 0.6.25 → 0.6.26
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 +15 -0
- package/agents/orchestrator.md +1 -1
- package/package.json +1 -1
- package/skills/ancleto-archive/SKILL.md +17 -4
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
- [Características principales](#características-principales)
|
|
24
24
|
- [Requisitos](#requisitos)
|
|
25
25
|
- [Instalación](#instalación)
|
|
26
|
+
- [Guía de .gitignore](#guía-de-gitignore)
|
|
26
27
|
- [Configuración y tiers de costo](#configuración-y-tiers-de-costo)
|
|
27
28
|
- [Uso rápido](#uso-rápido)
|
|
28
29
|
- [Referencia de comandos CLI](#referencia-de-comandos-cli)
|
|
@@ -121,6 +122,20 @@ Cómo bajarlo:
|
|
|
121
122
|
|
|
122
123
|
---
|
|
123
124
|
|
|
125
|
+
## Guía de .gitignore
|
|
126
|
+
|
|
127
|
+
El framework **no gestiona tu `.gitignore`**: es una decisión del proyecto. Como referencia, esta es la combinación que funciona bien con Ancleto:
|
|
128
|
+
|
|
129
|
+
| Ruta | Recomendación | Por qué |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| `aspec/` | **Versionar** | Es la fuente-de-verdad: specs y el historial de changes archivados. Si se ignora, el equipo pierde el por qué de las decisiones y los agentes no tienen contexto estable. |
|
|
132
|
+
| `.ancleto/` | **Ignorar** | Base SQLite local (memoria del repo y working-context). Es de tu máquina; cada integrante la regenera. |
|
|
133
|
+
| `.ancletorc` | **Decisión del equipo** | Versionarlo alinea la configuración del proyecto (agente, tier, discovery). Ignoralo si cada integrante lo personaliza. |
|
|
134
|
+
|
|
135
|
+
> Error común: gitignorear `aspec/` junto con `.ancleto/`. La memoria local es descartable; la fuente-de-verdad, no.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
124
139
|
## Configuración y tiers de costo
|
|
125
140
|
|
|
126
141
|
En la primera ejecución, un **wizard interactivo** te guía por los pasos de configuración (agente/IDE y nivel de gasto). También podés pasarlos por flags:
|
package/agents/orchestrator.md
CHANGED
|
@@ -259,7 +259,7 @@ If the runtime is read-only or plan-only:
|
|
|
259
259
|
5. **Testing**: Delegate to **`@tester`** to create or update unit tests and perform final validation against the approved scope, including a non-writing format check and one lint pass after all edits. Include the complete Resolved Context Envelope, the coder's task-owned files, and its reported risks. `@tester` returns the final union of task-owned files and the Validation Ledger. A format failure in a task-owned file is failed verification and must not be fixed silently by `@tester`.
|
|
260
260
|
6. **Review**: Delegate to **`@reviewer`** when an independent correctness or scope review is appropriate. Include the complete Resolved Context Envelope, the tester's final task-owned file union, and the full Validation Ledger.
|
|
261
261
|
7. **🛑 FINAL ARCHIVE CHECKPOINT**: If implementation, validation, and any required review are complete with no blocking issues, stop and explicitly ask the user whether to keep iterating on the same change or finalize and archive it
|
|
262
|
-
8. **Finalization / Archive**: Before archiving, verify the delta specs reflect the final implementation — if iteration changed behavior or scope, re-delegate to **`@spec-writer`** to update the delta specs first, so the merge to source-of-truth is accurate. Then delegate to **`@documenter`** only after explicit user approval to archive
|
|
262
|
+
8. **Finalization / Archive**: Before archiving, verify the delta specs reflect the final implementation — if iteration changed behavior or scope, re-delegate to **`@spec-writer`** to update the delta specs first, so the merge to source-of-truth is accurate. Check the seed freshness before closing: delegate the read-only state check to **`@technical-discovery`** and, when the state is `STALE`, warn and offer regeneration via **`@technical-seed-writer`** with explicit user approval — never automatic; if the user declines, continue the archive normally. This closure check protects future sessions from a silently aging seed. Then delegate to **`@documenter`** only after explicit user approval to archive
|
|
263
263
|
9. **Memory Record**: After a successful archive, delegate to **`@memory-keeper`** in Automatic Record mode when a concrete, plausible candidate exists, with the factual completed-work summary and validation evidence supporting it. If no candidate exists, delegate Optional Draft with the factual completed-work summary, `no-automatic-candidate` classification, and the reason no candidate was identified. When Automatic Record returns `no-entry-warranted`, use its draft or delegate Optional Draft with that classification and reason if it could not provide one. Before asking, show the final work summary, classification, reason, and exact draft, then stop for explicit user approval. If no safe draft is available, report that outcome and finish without asking or storing. On approval, delegate User-Approved Record with the unchanged draft, the factual summary and validation evidence used to compose it, archived change name, and card context. On rejection, do not store.
|
|
264
264
|
10. **Report**: Return final status or blocking findings to the user after automatic storage, an explicit decline, or User-Approved Record completes.
|
|
265
265
|
|
package/package.json
CHANGED
|
@@ -42,14 +42,24 @@ Check for delta specs at `aspec/changes/<name>/specs/`; if none, proceed without
|
|
|
42
42
|
- `## RENAMED Requirements` → rename using the `FROM:`/`TO:` pair.
|
|
43
43
|
- Proceed to archive regardless of the choice.
|
|
44
44
|
|
|
45
|
-
### 3.
|
|
45
|
+
### 3. Check technical seed freshness
|
|
46
|
+
|
|
47
|
+
If the `ancleto` CLI is available in this project, run `ancleto discovery --check` (read-only) and read its JSON `state`.
|
|
48
|
+
|
|
49
|
+
- **`STALE`**: warn that the technical seed is out of date for the current code, and offer to regenerate it now (follow the `ancleto-technical-discovery` skill) or to continue archiving with the stale seed.
|
|
50
|
+
- **Any other state**: continue without comment.
|
|
51
|
+
- Never regenerate automatically — regenerate only with the user's explicit approval.
|
|
52
|
+
- If the user declines, continue the archive normally and record the stale seed in the summary.
|
|
53
|
+
- If the CLI is unavailable, skip this step.
|
|
54
|
+
|
|
55
|
+
### 4. Perform the archive
|
|
46
56
|
|
|
47
57
|
Create `aspec/changes/archive/` if absent. Target: `YYYY-MM-DD-<change-name>` (current date).
|
|
48
58
|
|
|
49
59
|
- **Target exists**: fail, suggesting a rename or different date.
|
|
50
60
|
- **Otherwise**: delete scaffold-only files (e.g., `aspec/changes/<name>/context.md` — never preserved), then move the change directory to `aspec/changes/archive/YYYY-MM-DD-<name>/`.
|
|
51
61
|
|
|
52
|
-
###
|
|
62
|
+
### 5. Capture lessons into persistent memory
|
|
53
63
|
|
|
54
64
|
Record what this change taught:
|
|
55
65
|
|
|
@@ -64,7 +74,7 @@ Record what this change taught:
|
|
|
64
74
|
|
|
65
75
|
Record only durable lessons — decisions whose reasons aren't visible in the result, constraints, verified workarounds. Never workflow meta. If nothing meets the bar, record nothing and say so.
|
|
66
76
|
|
|
67
|
-
###
|
|
77
|
+
### 6. Display summary
|
|
68
78
|
|
|
69
79
|
```
|
|
70
80
|
## Archive Complete
|
|
@@ -75,12 +85,15 @@ Record only durable lessons — decisions whose reasons aren't visible in the re
|
|
|
75
85
|
**Memories recorded:** <list, or "None">
|
|
76
86
|
```
|
|
77
87
|
|
|
78
|
-
|
|
88
|
+
When the seed was `STALE`, add a `**Seed:**` line: `Regenerated` or `Stale — regeneration declined`.
|
|
89
|
+
|
|
90
|
+
If warnings applied (incomplete tasks, skipped sync, stale seed), show an "Archive Complete (with warnings)" variant listing them.
|
|
79
91
|
|
|
80
92
|
## Guardrails
|
|
81
93
|
|
|
82
94
|
- Always prompt for change selection if not provided.
|
|
83
95
|
- Don't block archiving on warnings — inform and confirm.
|
|
96
|
+
- Never regenerate the technical seed automatically: offer it, and continue the archive if the user declines.
|
|
84
97
|
- If the target archive directory exists, fail instead of overwriting.
|
|
85
98
|
- Delete scaffold-only files (`context.md`) before moving; never archive them.
|
|
86
99
|
- `recordRule`/`recordDecision` accept only `memory_key`, `content`, `justification`, `scope`. Never send `source`, `confidence`, `status` or `id` — the runtime manages those.
|