dorfl 0.2.0 → 0.2.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.
@@ -117,7 +117,7 @@ An item that was claimed and _attempted_ but could not complete is SURFACED ON `
117
117
 
118
118
  - **Who marks it:** the runner/human that owns the lock + `main` transitions — NOT the build agent (which never touches the lock ref or `main`). On a bounced job the runner writes the sidecar + flips `needsAnswers`, RELEASES the lock, and SAVES the recoverable work as a wip commit on the kept `work/<type>-<slug>` branch (pushed to the arbiter so it travels cross-machine).
119
119
  - **Not claimable:** a `needsAnswers:true` item is `eligible:false` by construction, so it is not auto-picked; it IS visible — in `ls work/questions/`, in `git clone`, and in `dorfl status`/`scan`. `tasks/done/` on `main` and a `needsAnswers:true` `tasks/ready/` body cannot legitimately co-exist for the same slug (a bounce releases the lock cleanly; the two-substrate `done + stuck` co-existence case the pre-retirement lock had is gone).
120
- - **Resolve / return path:** a human ANSWERS the sidecar; the existing apply rung drains the answer — `resolve` (continue: clear `needsAnswers` + delete the sidecar; the `work/<type>-<slug>` branch is left UNTOUCHED so the next claim continues from its tip), `resolve` + `resolveReset` (reset: delete the `work/<type>-<slug>` branch, then continue), or `dispose` (regime-polymorphic terminal: task → `git mv tasks/cancelled/`, spec → `git mv specs/dropped/`, observation → `git rm`). The direct human verbs `resume` / `requeue <slug>` / `release-lock` still work; they now target an in-flight or crash-orphan `active` lock, not a `stuck` lock. A crash-orphaned lock (the only class that can outlive a leg) is nameable and clearable via `release-lock <item>` (+ an orphan-lock report in `gc --ledger`); a lock whose entry name is NOT derivable from any current item-form (a pre-vocabulary-cutover `slice-<slug>` / `prd-<slug>` prefix, or a future rename) is cleared via `release-lock --entry <literal>`, which `gc --ledger` surfaces the exact invocation for — no raw `git push origin --delete refs/dorfl/lock/…` needed. There is no liveness heartbeat and no auto-sweep (a human asserts a lock is dead).
120
+ - **Resolve / return path:** a human ANSWERS the sidecar; the existing apply rung drains the answer — `resolve` (continue: clear `needsAnswers` + delete the sidecar; the `work/<type>-<slug>` branch is left UNTOUCHED so the next claim continues from its tip), `resolve` + `resolveReset` (reset: delete the `work/<type>-<slug>` branch, then continue), or `dispose` (regime-polymorphic terminal: task → `git mv tasks/cancelled/`, spec → `git mv specs/dropped/`, observation → `git rm`). The direct human verbs `resume` / `requeue <slug>` / `release-lock` still work; they now target an in-flight or crash-orphan `active` lock, not a `stuck` lock. A crash-orphaned lock (the only class that can outlive a leg) is nameable and clearable via `release-lock <item>` (+ an orphan-lock report in `gc --ledger`); a lock whose entry name is NOT derivable from any current item-form (e.g. after a rename) is cleared via `release-lock --entry <literal>`, which `gc --ledger` surfaces the exact invocation for — no raw `git push origin --delete refs/dorfl/lock/…` needed. There is no liveness heartbeat and no auto-sweep (a human asserts a lock is dead).
121
121
  - This is a _post-claim_ state. (A separate _pre-claim_ "not ready" state is the STAGING folder `tasks/backlog/` — the position gate — not this.)
122
122
  - **Branch self-conflicts cannot occur by construction.** Because NO transient status lands on `main` (a bounce is a lock amend, not a `git mv`), a work branch cut from `main` inherits no `needs-attention`/`tasking`/`advancing` markers, so a continue/rebase is a PLAIN rebase with nothing to drop. A genuine content conflict between two real lines of development still aborts → the item is marked stuck.
123
123
 
@@ -117,7 +117,7 @@ An item that was claimed and _attempted_ but could not complete is SURFACED ON `
117
117
 
118
118
  - **Who marks it:** the runner/human that owns the lock + `main` transitions — NOT the build agent (which never touches the lock ref or `main`). On a bounced job the runner writes the sidecar + flips `needsAnswers`, RELEASES the lock, and SAVES the recoverable work as a wip commit on the kept `work/<type>-<slug>` branch (pushed to the arbiter so it travels cross-machine).
119
119
  - **Not claimable:** a `needsAnswers:true` item is `eligible:false` by construction, so it is not auto-picked; it IS visible — in `ls work/questions/`, in `git clone`, and in `dorfl status`/`scan`. `tasks/done/` on `main` and a `needsAnswers:true` `tasks/ready/` body cannot legitimately co-exist for the same slug (a bounce releases the lock cleanly; the two-substrate `done + stuck` co-existence case the pre-retirement lock had is gone).
120
- - **Resolve / return path:** a human ANSWERS the sidecar; the existing apply rung drains the answer — `resolve` (continue: clear `needsAnswers` + delete the sidecar; the `work/<type>-<slug>` branch is left UNTOUCHED so the next claim continues from its tip), `resolve` + `resolveReset` (reset: delete the `work/<type>-<slug>` branch, then continue), or `dispose` (regime-polymorphic terminal: task → `git mv tasks/cancelled/`, spec → `git mv specs/dropped/`, observation → `git rm`). The direct human verbs `resume` / `requeue <slug>` / `release-lock` still work; they now target an in-flight or crash-orphan `active` lock, not a `stuck` lock. A crash-orphaned lock (the only class that can outlive a leg) is nameable and clearable via `release-lock <item>` (+ an orphan-lock report in `gc --ledger`); a lock whose entry name is NOT derivable from any current item-form (a pre-vocabulary-cutover `slice-<slug>` / `prd-<slug>` prefix, or a future rename) is cleared via `release-lock --entry <literal>`, which `gc --ledger` surfaces the exact invocation for — no raw `git push origin --delete refs/dorfl/lock/…` needed. There is no liveness heartbeat and no auto-sweep (a human asserts a lock is dead).
120
+ - **Resolve / return path:** a human ANSWERS the sidecar; the existing apply rung drains the answer — `resolve` (continue: clear `needsAnswers` + delete the sidecar; the `work/<type>-<slug>` branch is left UNTOUCHED so the next claim continues from its tip), `resolve` + `resolveReset` (reset: delete the `work/<type>-<slug>` branch, then continue), or `dispose` (regime-polymorphic terminal: task → `git mv tasks/cancelled/`, spec → `git mv specs/dropped/`, observation → `git rm`). The direct human verbs `resume` / `requeue <slug>` / `release-lock` still work; they now target an in-flight or crash-orphan `active` lock, not a `stuck` lock. A crash-orphaned lock (the only class that can outlive a leg) is nameable and clearable via `release-lock <item>` (+ an orphan-lock report in `gc --ledger`); a lock whose entry name is NOT derivable from any current item-form (e.g. after a rename) is cleared via `release-lock --entry <literal>`, which `gc --ledger` surfaces the exact invocation for — no raw `git push origin --delete refs/dorfl/lock/…` needed. There is no liveness heartbeat and no auto-sweep (a human asserts a lock is dead).
121
121
  - This is a _post-claim_ state. (A separate _pre-claim_ "not ready" state is the STAGING folder `tasks/backlog/` — the position gate — not this.)
122
122
  - **Branch self-conflicts cannot occur by construction.** Because NO transient status lands on `main` (a bounce is a lock amend, not a `git mv`), a work branch cut from `main` inherits no `needs-attention`/`tasking`/`advancing` markers, so a continue/rebase is a PLAIN rebase with nothing to drop. A genuine content conflict between two real lines of development still aborts → the item is marked stuck.
123
123
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dorfl",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wighawag/dorfl.git",