@rasensio/aidlc-content 1.48.0 → 1.50.0
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/package.json
CHANGED
package/skills/04-roadmap.md
CHANGED
|
@@ -143,7 +143,7 @@ List each status directory, reading **only frontmatter and the containing direct
|
|
|
143
143
|
|
|
144
144
|
For a `hold/` item, show whether it is **parked or declined**, with its reason, from the last `history` entry — that entry is in the frontmatter, so this costs nothing extra. An item with no reason recorded is reported as `hold — reason not recorded`, never guessed at: parked and declined are opposite answers, and a wrong one either revives work somebody killed or buries work somebody agreed to.
|
|
145
145
|
|
|
146
|
-
**`aidlc roadmap next`** is the deterministic answer to "what next?": the `backlog/` item with the lowest `priority` among those whose `depends_on` are all `done`, unranked items last, ties by file name (`--explain` shows the order and what was skipped and why; `--json` for scripts). It is read-only and never promotes — promoting stays a person's decision. `priority` is an ordinary extension field a project declares in `roadmap.item_fields`; a rank, where 1 is first.
|
|
146
|
+
**`aidlc roadmap next`** is the deterministic answer to "what next?": the `backlog/` item with the lowest `priority` among those whose `depends_on` are all `done`, unranked items last, ties by file name (`--explain` shows the order and what was skipped and why; `--json` for scripts). It is read-only and never promotes — promoting stays a person's decision. `priority` is an ordinary extension field a project declares in `roadmap.item_fields`; a rank, where 1 is first. Where it is declared, `--explain` also lists every unranked backlog item, so one sitting last is visible rather than silently last. **`aidlc roadmap rank <item> <n>`** is the one way to change a rank: it puts the item at `n` and renumbers every ranked backlog item 1…k, so ranks stay unique and gap-free.
|
|
147
147
|
|
|
148
148
|
The frontmatter-only rule holds for browsing, which is a list and must stay cheap enough to run over the whole roadmap. **Triage** below is the one flow allowed into the body, and only as far as the executive summary.
|
|
149
149
|
|
|
@@ -159,6 +159,18 @@ Triage is the one flow that reads into the body, and it reads **the executive su
|
|
|
159
159
|
|
|
160
160
|
Read `.aidlc/context/constitution.md` when it exists and apply the constitution rule in `.aidlc/resources/rules/constitution.md`: an item that crosses a prohibition is the clearest `hold/` there is, and naming the prohibition turns "not for us" into a reason the submitter can read.
|
|
161
161
|
|
|
162
|
+
### Ranking on the way in
|
|
163
|
+
|
|
164
|
+
When the project declares `priority` in `roadmap.item_fields`, moving an item into `backlog/` includes giving it a rank — otherwise it sorts last, and the order `aidlc roadmap next` and autopilot follow becomes the order nobody chose.
|
|
165
|
+
|
|
166
|
+
1. Read the current order with `aidlc roadmap next --explain`.
|
|
167
|
+
2. **Propose** a rank with a one-line reason drawn from the executive summaries — this item against its neighbours, not a score.
|
|
168
|
+
3. Show where it lands: `aidlc roadmap rank <item> <n> --dry-run` prints the whole order with the item marked.
|
|
169
|
+
4. Ask once: accept rank `n`, or give another number. One answer settles it.
|
|
170
|
+
5. Run `aidlc roadmap rank <item> <answer>` without `--dry-run`. Never edit `priority:` by hand — the command is what keeps ranks unique and gap-free.
|
|
171
|
+
|
|
172
|
+
The proposed rank is never written without the person's answer: a rank nobody looked at reads exactly like a decided one. There is no scoring formula; the person decides and the flow only proposes. Projects that do not declare `priority` triage exactly as before, with no rank asked for.
|
|
173
|
+
|
|
162
174
|
## Promote
|
|
163
175
|
|
|
164
176
|
Promotion is where the roadmap meets the lifecycle:
|
|
@@ -185,7 +197,7 @@ When the user asks for a worktree ("create a new worktree for roadmap `<file>`")
|
|
|
185
197
|
```
|
|
186
198
|
For Codex, swap `claude` for `codex`. If the user names a session manager, give them the worktree path to point it at.
|
|
187
199
|
|
|
188
|
-
When the instance completes, the `roadmap-done` lifecycle action moves
|
|
200
|
+
When the instance completes, the `roadmap-done` lifecycle action moves every item whose `promoted_to` names it to `done/` on its own, and says how many it moved — do not do it by hand, and do not remove that action to do it manually.
|
|
189
201
|
|
|
190
202
|
## Drop
|
|
191
203
|
|
|
@@ -42,16 +42,17 @@ Then the source files that task touches. See **The context rule** (`.aidlc/resou
|
|
|
42
42
|
|
|
43
43
|
1. **Load context.** Read `.aidlc/context/style-guide.md` and `.aidlc/context/architecture.md` if they exist. Match the project's established patterns. If the project has a knowledge graph (`.aidlc/knowledge/` exists), also run `aidlc knowledge context --scope phase --phase implementation` and query it (`aidlc knowledge query <term>`) before re-exploring code it already describes — as an index into the source, never a substitute for reading it. Open the file before calling anything the graph names; an entry can outlive the symbol it describes.
|
|
44
44
|
2. **Load guidance.** Read the always-read guidance layers from `.aidlc/guidance/index.yaml` — see **The always-read rule** (`.aidlc/resources/rules/always-read.md`) for which layers those are and when to reach for the full `lessons.md`. Apply their rules during implementation.
|
|
45
|
-
3. **
|
|
46
|
-
4. **
|
|
47
|
-
5. **
|
|
45
|
+
3. **Check that the planning artifacts agree.** Before the first task, run `aidlc cross-check <instance>` and show the user the list. It reads `requirements.md`, `design.md` and `tasks.md` side by side and prints one line per gap — a criterion no task cites, a task citing no criterion, a criterion design never mentions — each naming both artifacts and the ID. It is a report: it writes nothing and never blocks, and acting on a gap is the user's call. A gap in `tasks.md` is fixed in place, since its phase is still open here; a gap in a completed `requirements.md` or `design.md` is fixed through an amendment (**Amending a Completed Phase**, in the requirements skill), never by editing it silently. Unattended (`AIDLC_UNATTENDED=1`): record the list in `code-complete.md` and carry on.
|
|
46
|
+
4. **Execute the task breakdown.** When the instance has a `tasks.md` (produced in Design for full/quick-feature scope), read it and execute tasks in order: complete a task, then mark its checkbox `[x]` as part of the same work unit — never batch checkbox updates for later. A task that should not be done is deferred in place (`- [>] T<n>: <title> (deferred YYYY-MM-DD: <reason>)`) with a dated reason, never skipped silently or deleted; the implementation→testing gate blocks on open tasks. For bugfix scope, create the optional `tasks.md` at implementation start when the fix spans more than one commit-sized unit. For Micro scope, reference the task description and acceptance criteria directly — no task file.
|
|
47
|
+
5. **Write code.** Follow the design interfaces. Match existing code style (naming, formatting, error handling patterns).
|
|
48
|
+
6. **Handle sensitive operations.** Before executing any of the following, describe the action and wait for explicit user confirmation (unattended, `AIDLC_UNATTENDED=1`: each is a hard stop except reverting this session's own changes, per `.aidlc/resources/rules/unattended.md`):
|
|
48
49
|
- File deletions or destructive operations
|
|
49
50
|
- Infrastructure changes (provisioning, configuration)
|
|
50
51
|
- Permission or access control modifications
|
|
51
52
|
- Credential or secret handling
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
7. **Commit incrementally.** Produce working code at each step; avoid large uncommittable diffs.
|
|
54
|
+
8. **Update the knowledge graph.** After modifying code, record what changed with `aidlc knowledge add` / `relate` / `update`: new or restructured modules, decisions taken, debt introduced or paid down. Keep the graph in sync with the code you just changed.
|
|
55
|
+
9. **Update state.** As implementation artifacts are produced, mark them in `phase-implementation.yaml`.
|
|
55
56
|
|
|
56
57
|
## Exit Criteria
|
|
57
58
|
|
package/skills/84-autopilot.md
CHANGED
|
@@ -35,7 +35,8 @@ The CLI does the work. This skill starts it and says how to watch and stop it. D
|
|
|
35
35
|
|
|
36
36
|
- Takes items in `aidlc roadmap next` order. Builds at most two at once, and never more than the count asked for.
|
|
37
37
|
- Parks an item (moves it to `hold/` with a reason) when its agent stops short, when CI fails twice, or when it passes the cost cap.
|
|
38
|
-
-
|
|
38
|
+
- Before each merge, brings the item's branch up to date with main and waits for CI on the new head. A conflict with main goes back to the item's agent, twice at most, then the item is parked. A pull request someone merged by hand is dropped from tracking.
|
|
39
|
+
- Halts the merge queue when a step fails. Running `aidlc autopilot run` again retries a failure that came before the merge; a failed release is for a person — `aidlc autopilot status` shows the error. `aidlc autopilot forget <instance>` stops tracking an item finished by hand.
|
|
39
40
|
- Ends when the asked-for items are each released or parked, or, with `--all`, when nothing is ready and nothing is in flight.
|
|
40
41
|
|
|
41
42
|
## Exit Criteria
|