@rasensio/aidlc-content 1.80.0 → 1.81.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/docs/roadmap.md CHANGED
@@ -129,6 +129,18 @@ nothing — when the project does not declare `priority`, when the item is not i
129
129
  any backlog item carries a malformed rank. Where `priority` is declared, `roadmap next --explain`
130
130
  also lists every unranked backlog item, so one sitting last is visible rather than silently last.
131
131
 
132
+ **Keeping autopilot off an item** is its `run:` line: `run: autopilot` or `run: attended`.
133
+ Autopilot picks with `aidlc roadmap next --autopilot`, which leaves every `attended` item out of the
134
+ order and lists it under `skipped` with the reason `attended`; autopilot says
135
+ `left for a person (run: attended): <items>` and builds the next autopilot item instead. A plain
136
+ `aidlc roadmap next` still offers attended items in rank order, because a person can pick them — so
137
+ the backlog keeps one order for both. An item with **no** `run:` is one autopilot may build, so a repo
138
+ that never sets the field sees no change. A value that is neither — `run: yes`, a typo — keeps
139
+ autopilot **off** the item (skipped as `bad-run`), and `roadmap next` warns about it in either mode.
140
+ Declare `run` in `roadmap.item_fields` and triage proposes the value with the rank, asking for both
141
+ in one question. With only attended items ready, `aidlc autopilot run --all` finds nothing ready and
142
+ ends.
143
+
132
144
  **Parking from an instance** is `aidlc roadmap park <instance> --reason "<why>"`: it moves the item
133
145
  promoted to that instance into `hold/` with a `parked — ` reason. It exists for unattended mode's hard
134
146
  stops — see [Skills and platforms](skills-and-platforms.md) — where the agent works in a worktree but
@@ -165,7 +177,8 @@ resumes.
165
177
 
166
178
  Each item goes through these steps:
167
179
 
168
- 1. **Pick.** `aidlc roadmap next` names the next ready backlog item.
180
+ 1. **Pick.** `aidlc roadmap next --autopilot` names the next ready backlog item, leaving items
181
+ marked `run: attended` for a person.
169
182
  2. **Build.** `aidlc start … --worktree --roadmap-item <item>` creates the instance in its own
170
183
  worktree, then the configured agent runs there with `AIDLC_UNATTENDED=1` and `AIDLC_PAUSE_AFTER`
171
184
  set to the phases it must stop after. The agent follows the unattended rule and stops at a review
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasensio/aidlc-content",
3
- "version": "1.80.0",
3
+ "version": "1.81.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -145,7 +145,7 @@ List each status directory, reading **only frontmatter and the containing direct
145
145
 
146
146
  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.
147
147
 
148
- **`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.
148
+ **`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. `--autopilot` picks as autopilot does: it leaves out items marked `run: attended`, and items whose `run` is neither value, listing each as skipped. **`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.
149
149
 
150
150
  **Seeing the roadmap.** When someone asks to see the roadmap or its dependencies, run **`aidlc roadmap view`** rather than drawing a graph. It writes one self-contained HTML page — a kanban board of every item by status, and a zoomable map of the `depends_on` chains with blocked items and unknown ids marked — and opens it in the browser (`--no-open` only writes it; `--out <path>` writes it elsewhere). The page lives in the git common dir, outside every working tree, so it is never committed and nothing rebuilds it on a move; run the command again for a fresh one. `aidlc roadmap graph` is the same command.
151
151
 
@@ -175,6 +175,16 @@ When the project declares `priority` in `roadmap.item_fields`, moving an item in
175
175
 
176
176
  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.
177
177
 
178
+ ### Run mode on the way in
179
+
180
+ When the project declares `run` in `roadmap.item_fields`, the same moment also settles whether autopilot may build the item alone: `run: autopilot` or `run: attended`. Autopilot picks with `aidlc roadmap next --autopilot`, which leaves `attended` items for a person; a person's `aidlc roadmap next` still offers them.
181
+
182
+ 1. **Propose** `autopilot` or `attended` with a one-line reason, alongside the proposed rank. `attended` fits an item that changes what a gate trusts, or needs a decision before any code; `autopilot` fits hours of work with a clear reproduction and a clear fix.
183
+ 2. Ask it **in the same question as the rank** — one answer gives both, for example "rank 3, attended". Never a second question.
184
+ 3. Write the answer to the item's `run:` line as text, adding the line after `priority:` when it is missing. Edit only that line; nothing else in the frontmatter changes.
185
+
186
+ Never write `run:` without the person's answer, for the reason the rank is never written without one. An item with no `run:` is one autopilot may build, so leaving it unset is a choice, not a neutral default. Projects that do not declare `run` triage exactly as before.
187
+
178
188
  ## Promote
179
189
 
180
190
  Promotion is where the roadmap meets the lifecycle:
@@ -47,7 +47,7 @@ The CLI does the work. This skill starts it and says how to watch and stop it. D
47
47
 
48
48
  ## What the run does on its own
49
49
 
50
- - Takes items in `aidlc roadmap next` order. Builds at most two at once, and never more than the count asked for.
50
+ - Takes items in `aidlc roadmap next --autopilot` order, which leaves out items marked `run: attended`. Builds at most two at once, and never more than the count asked for.
51
51
  - Parks an item (moves it to `hold/` with a reason) when its agent stops short of a stop it was told to reach, when CI fails twice, or when it passes the cost cap. An item waiting for a person is never parked, and holds no build slot, so the run goes on starting others.
52
52
  - An agent that loses the network exits, and is parked. Sleep cuts the network, so a run on a laptop needs `aidlc autopilot pause` first: it freezes the run and its agents where they are, and `aidlc autopilot resume` carries on.
53
53
  - 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.