approval-md 0.1.0 → 0.2.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/README.md +584 -553
- package/SPEC.md +42 -13
- package/dist/src/adapters/agentmail.d.ts +426 -0
- package/dist/src/adapters/agentmail.js +2 -2
- package/dist/src/adapters/conformance.d.ts +149 -0
- package/dist/src/adapters/contract.d.ts +628 -0
- package/dist/src/adapters/contract.js +110 -16
- package/dist/src/adapters/contract.js.map +1 -1
- package/dist/src/adapters/email.d.ts +324 -0
- package/dist/src/adapters/env-passphrase.d.ts +93 -0
- package/dist/src/adapters/public.d.ts +11 -0
- package/dist/src/adapters/public.js +11 -0
- package/dist/src/adapters/public.js.map +1 -0
- package/dist/src/adapters/registry.d.ts +59 -0
- package/dist/src/adapters/registry.js +2 -1
- package/dist/src/adapters/registry.js.map +1 -1
- package/dist/src/adapters/smtp.d.ts +213 -0
- package/dist/src/adapters/vault-provider.d.ts +114 -0
- package/dist/src/adapters/vault-provider.js +3 -3
- package/dist/src/adapters/zzz.d.ts +66 -0
- package/dist/src/adapters/zzz.js +299 -0
- package/dist/src/adapters/zzz.js.map +1 -0
- package/dist/src/channels/batch.d.ts +109 -0
- package/dist/src/channels/cli.d.ts +193 -0
- package/dist/src/channels/conformance.d.ts +92 -0
- package/dist/src/channels/contract.d.ts +623 -0
- package/dist/src/channels/payload-view.d.ts +35 -0
- package/dist/src/channels/render-queue.d.ts +149 -0
- package/dist/src/channels/tagging.d.ts +196 -0
- package/dist/src/channels/telegram.d.ts +1832 -0
- package/dist/src/channels/web.d.ts +341 -0
- package/dist/src/cli/adapter.d.ts +90 -0
- package/dist/src/cli/adapter.js +25 -15
- package/dist/src/cli/adapter.js.map +1 -1
- package/dist/src/cli/amend.d.ts +59 -0
- package/dist/src/cli/args.d.ts +43 -0
- package/dist/src/cli/attest.d.ts +41 -0
- package/dist/src/cli/audit-card.d.ts +62 -0
- package/dist/src/cli/audit.d.ts +59 -0
- package/dist/src/cli/channel-telegram.d.ts +806 -0
- package/dist/src/cli/channel-web.d.ts +131 -0
- package/dist/src/cli/channel.d.ts +71 -0
- package/dist/src/cli/checkpoint-tap.d.ts +169 -0
- package/dist/src/cli/codex.d.ts +2 -0
- package/dist/src/cli/codex.js +172 -0
- package/dist/src/cli/codex.js.map +1 -0
- package/dist/src/cli/coverage.d.ts +61 -0
- package/dist/src/cli/daemon.d.ts +120 -0
- package/dist/src/cli/doctor.d.ts +129 -0
- package/dist/src/cli/doctor.js +119 -5
- package/dist/src/cli/doctor.js.map +1 -1
- package/dist/src/cli/env.d.ts +65 -0
- package/dist/src/cli/execute.d.ts +202 -0
- package/dist/src/cli/exit-codes.d.ts +73 -0
- package/dist/src/cli/feedback.d.ts +60 -0
- package/dist/src/cli/gate-window.d.ts +40 -0
- package/dist/src/cli/gate.d.ts +68 -0
- package/dist/src/cli/git-scope.d.ts +190 -0
- package/dist/src/cli/gloss-attach.d.ts +85 -0
- package/dist/src/cli/gloss-codex-child.d.ts +9 -0
- package/dist/src/cli/gloss-codex.d.ts +24 -0
- package/dist/src/cli/gloss-options.d.ts +42 -0
- package/dist/src/cli/gloss.d.ts +265 -0
- package/dist/src/cli/help.d.ts +103 -0
- package/dist/src/cli/help.js +173 -51
- package/dist/src/cli/help.js.map +1 -1
- package/dist/src/cli/hook-codex.d.ts +78 -0
- package/dist/src/cli/hook-codex.js +167 -0
- package/dist/src/cli/hook-codex.js.map +1 -0
- package/dist/src/cli/hook.d.ts +331 -0
- package/dist/src/cli/hook.js +186 -80
- package/dist/src/cli/hook.js.map +1 -1
- package/dist/src/cli/import.d.ts +35 -0
- package/dist/src/cli/init.d.ts +84 -0
- package/dist/src/cli/init.js +2 -2
- package/dist/src/cli/init.js.map +1 -1
- package/dist/src/cli/instructions.d.ts +23 -0
- package/dist/src/cli/journal.d.ts +41 -0
- package/dist/src/cli/log-advance.d.ts +287 -0
- package/dist/src/cli/log-advance.js +102 -11
- package/dist/src/cli/log-advance.js.map +1 -1
- package/dist/src/cli/log-anchor.d.ts +176 -0
- package/dist/src/cli/log-checkpoint.d.ts +22 -0
- package/dist/src/cli/log-sync.d.ts +243 -0
- package/dist/src/cli/log-verbs.d.ts +16 -0
- package/dist/src/cli/log-verbs.js +7 -1
- package/dist/src/cli/log-verbs.js.map +1 -1
- package/dist/src/cli/long-help.d.ts +70 -0
- package/dist/src/cli/main.d.ts +77 -0
- package/dist/src/cli/main.js +155 -5
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/mcp.d.ts +52 -0
- package/dist/src/cli/paths.d.ts +56 -0
- package/dist/src/cli/payload.d.ts +58 -0
- package/dist/src/cli/policy.d.ts +43 -0
- package/dist/src/cli/preflight.d.ts +363 -0
- package/dist/src/cli/preflight.js +294 -7
- package/dist/src/cli/preflight.js.map +1 -1
- package/dist/src/cli/progress.d.ts +78 -0
- package/dist/src/cli/prompt.d.ts +209 -0
- package/dist/src/cli/quickstart.d.ts +46 -0
- package/dist/src/cli/quickstart.js +297 -0
- package/dist/src/cli/quickstart.js.map +1 -0
- package/dist/src/cli/records.d.ts +34 -0
- package/dist/src/cli/render.d.ts +22 -0
- package/dist/src/cli/sandbox.d.ts +51 -0
- package/dist/src/cli/scaffold.d.ts +79 -0
- package/dist/src/cli/setup-adapter.d.ts +137 -0
- package/dist/src/cli/setup-adapter.js +38 -4
- package/dist/src/cli/setup-adapter.js.map +1 -1
- package/dist/src/cli/setup-channel.d.ts +117 -0
- package/dist/src/cli/setup-checkpoint.d.ts +57 -0
- package/dist/src/cli/setup-common.d.ts +275 -0
- package/dist/src/cli/setup-flow.d.ts +287 -0
- package/dist/src/cli/setup-service.d.ts +96 -0
- package/dist/src/cli/setup.d.ts +202 -0
- package/dist/src/cli/style.d.ts +320 -0
- package/dist/src/cli/token.d.ts +39 -0
- package/dist/src/cli/up.d.ts +155 -0
- package/dist/src/cli/up.js +4 -2
- package/dist/src/cli/up.js.map +1 -1
- package/dist/src/cli/usage.d.ts +37 -0
- package/dist/src/cli/values.d.ts +40 -0
- package/dist/src/cli/vault.d.ts +59 -0
- package/dist/src/cli/vault.js +2 -2
- package/dist/src/cli/vault.js.map +1 -1
- package/dist/src/cli/verb-registry.d.ts +76 -0
- package/dist/src/cli/verb-registry.js +176 -8
- package/dist/src/cli/verb-registry.js.map +1 -1
- package/dist/src/cli/wordmark.d.ts +31 -0
- package/dist/src/cli/wordmark.js +2 -2
- package/dist/src/codex/doctor.d.ts +13 -0
- package/dist/src/codex/doctor.js +41 -0
- package/dist/src/codex/doctor.js.map +1 -0
- package/dist/src/codex/manifest.d.ts +49 -0
- package/dist/src/codex/manifest.js +103 -0
- package/dist/src/codex/manifest.js.map +1 -0
- package/dist/src/codex/templates.d.ts +41 -0
- package/dist/src/codex/templates.js +319 -0
- package/dist/src/codex/templates.js.map +1 -0
- package/dist/src/codex/trust.d.ts +19 -0
- package/dist/src/codex/trust.js +183 -0
- package/dist/src/codex/trust.js.map +1 -0
- package/dist/src/codex/workspace-plan.d.ts +131 -0
- package/dist/src/codex/workspace-plan.js +561 -0
- package/dist/src/codex/workspace-plan.js.map +1 -0
- package/dist/src/core/actor.d.ts +2 -0
- package/dist/src/core/actor.js +5 -0
- package/dist/src/core/actor.js.map +1 -0
- package/dist/src/core/advance-cycle.d.ts +170 -0
- package/dist/src/core/agents-md.d.ts +276 -0
- package/dist/src/core/apply-patch.d.ts +49 -0
- package/dist/src/core/apply-patch.js +266 -0
- package/dist/src/core/apply-patch.js.map +1 -0
- package/dist/src/core/attest.d.ts +420 -0
- package/dist/src/core/attest.js +13 -1
- package/dist/src/core/attest.js.map +1 -1
- package/dist/src/core/audit.d.ts +492 -0
- package/dist/src/core/budgets.d.ts +238 -0
- package/dist/src/core/checkpoint.d.ts +500 -0
- package/dist/src/core/child-env.d.ts +88 -0
- package/dist/src/core/clock.d.ts +52 -0
- package/dist/src/core/command-class.d.ts +543 -0
- package/dist/src/core/command-class.js +43 -8
- package/dist/src/core/command-class.js.map +1 -1
- package/dist/src/core/coverage-sources/adapter.d.ts +40 -0
- package/dist/src/core/coverage-sources/gh.d.ts +48 -0
- package/dist/src/core/coverage-sources/git.d.ts +101 -0
- package/dist/src/core/coverage.d.ts +217 -0
- package/dist/src/core/credential-spec.d.ts +72 -0
- package/dist/src/core/dark-session.d.ts +331 -0
- package/dist/src/core/decision-refusal.d.ts +185 -0
- package/dist/src/core/env-file.d.ts +450 -0
- package/dist/src/core/execute.d.ts +858 -0
- package/dist/src/core/execute.js +44 -6
- package/dist/src/core/execute.js.map +1 -1
- package/dist/src/core/frontmatter.d.ts +78 -0
- package/dist/src/core/gate-window.d.ts +312 -0
- package/dist/src/core/gate.d.ts +1364 -0
- package/dist/src/core/gate.js +68 -13
- package/dist/src/core/gate.js.map +1 -1
- package/dist/src/core/git-run.d.ts +73 -0
- package/dist/src/core/harness-version.d.ts +157 -0
- package/dist/src/core/harness-version.js +2 -1
- package/dist/src/core/harness-version.js.map +1 -1
- package/dist/src/core/harness-wait.d.ts +55 -0
- package/dist/src/core/head-retry.d.ts +107 -0
- package/dist/src/core/instance.d.ts +253 -0
- package/dist/src/core/intake-limits.d.ts +247 -0
- package/dist/src/core/jcs.d.ts +52 -0
- package/dist/src/core/journal.d.ts +144 -0
- package/dist/src/core/live-draw.d.ts +436 -0
- package/dist/src/core/log-reconcile.d.ts +89 -0
- package/dist/src/core/log-subscribe.d.ts +36 -0
- package/dist/src/core/log-subscribe.js +162 -0
- package/dist/src/core/log-subscribe.js.map +1 -0
- package/dist/src/core/log.d.ts +278 -0
- package/dist/src/core/loop.d.ts +274 -0
- package/dist/src/core/loop.js +11 -0
- package/dist/src/core/loop.js.map +1 -1
- package/dist/src/core/md-fence.d.ts +41 -0
- package/dist/src/core/money.d.ts +147 -0
- package/dist/src/core/payload-census.d.ts +74 -0
- package/dist/src/core/payload-store.d.ts +175 -0
- package/dist/src/core/payload.d.ts +71 -0
- package/dist/src/core/policy-diff.d.ts +292 -0
- package/dist/src/core/policy-diff.js +27 -4
- package/dist/src/core/policy-diff.js.map +1 -1
- package/dist/src/core/policy-expectations.d.ts +199 -0
- package/dist/src/core/policy-explain.d.ts +150 -0
- package/dist/src/core/policy-explain.js +31 -3
- package/dist/src/core/policy-explain.js.map +1 -1
- package/dist/src/core/policy-load.d.ts +527 -0
- package/dist/src/core/policy-load.js +15 -3
- package/dist/src/core/policy-load.js.map +1 -1
- package/dist/src/core/policy-match.d.ts +281 -0
- package/dist/src/core/policy-match.js +20 -9
- package/dist/src/core/policy-match.js.map +1 -1
- package/dist/src/core/policy-proposal.d.ts +265 -0
- package/dist/src/core/prompt-layout.d.ts +221 -0
- package/dist/src/core/protected-path-guard.d.ts +453 -0
- package/dist/src/core/protected-path-guard.js +514 -35
- package/dist/src/core/protected-path-guard.js.map +1 -1
- package/dist/src/core/registration.d.ts +25 -0
- package/dist/src/core/reindex.d.ts +99 -0
- package/dist/src/core/sampler.d.ts +313 -0
- package/dist/src/core/sandbox.d.ts +290 -0
- package/dist/src/core/seal.d.ts +165 -0
- package/dist/src/core/state.d.ts +505 -0
- package/dist/src/core/task-file.d.ts +185 -0
- package/dist/src/core/telegram-config.d.ts +93 -0
- package/dist/src/core/token.d.ts +409 -0
- package/dist/src/core/token.js +21 -38
- package/dist/src/core/token.js.map +1 -1
- package/dist/src/core/validate.d.ts +138 -0
- package/dist/src/core/values.d.ts +137 -0
- package/dist/src/core/vault.d.ts +291 -0
- package/dist/src/core/verified-snapshot.d.ts +204 -0
- package/dist/src/core/verify.d.ts +336 -0
- package/dist/src/core/version.d.ts +8 -0
- package/dist/src/core/wysiwys.d.ts +370 -0
- package/dist/src/daemon/advance-child.d.ts +39 -0
- package/dist/src/daemon/advance.d.ts +466 -0
- package/dist/src/daemon/audit.d.ts +87 -0
- package/dist/src/daemon/daemon.d.ts +1180 -0
- package/dist/src/daemon/dark-session.d.ts +64 -0
- package/dist/src/daemon/draw-child.d.ts +36 -0
- package/dist/src/daemon/draw.d.ts +154 -0
- package/dist/src/daemon/git-evidence.d.ts +173 -0
- package/dist/src/daemon/git-evidence.js +1 -1
- package/dist/src/daemon/projection.d.ts +180 -0
- package/dist/src/daemon/prune.d.ts +207 -0
- package/dist/src/mcp/http.d.ts +113 -0
- package/dist/src/mcp/server.d.ts +265 -0
- package/dist/src/mcp/server.js +9 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/docs/adapter-api.md +106 -0
- package/docs/cli-reference.md +389 -36
- package/docs/codex-enforced-session.md +30 -0
- package/package.json +12 -2
- package/schema/codex-instance.schema.json +82 -0
- package/schema/event.schema.json +2 -1
- package/schema/fixtures/codex-instance/invalid/unpinned-codex-version.json +40 -0
- package/schema/fixtures/codex-instance/valid/canonical.json +40 -0
- package/schema/policy.schema.json +21 -1
- package/templates/codex/README.md +9 -0
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
*
|
|
16
16
|
* ## What it is allowed to do
|
|
17
17
|
*
|
|
18
|
-
* Read git, and at most
|
|
18
|
+
* Read git, and at most three writes: a `--ff-only` merge, `npm run build`,
|
|
19
|
+
* and, when the merge refused over an untracked file under `backlog/tasks/`
|
|
20
|
+
* that main already contains, clearing that file out of the way (APRV-300, and
|
|
21
|
+
* the rules it obeys are in {@link reconcileUntrackedTaskFiles}).
|
|
19
22
|
*
|
|
20
23
|
* It never resets, never stashes, never checks anything out, and never touches
|
|
21
24
|
* the working log. That list is not conservatism for its own sake — it is fork 2
|
|
@@ -28,7 +31,8 @@
|
|
|
28
31
|
*
|
|
29
32
|
* ## Refusals, not repairs
|
|
30
33
|
*
|
|
31
|
-
*
|
|
34
|
+
* Four codes, each firing for exactly one condition. The first three are
|
|
35
|
+
* evaluated in this order, before anything is written:
|
|
32
36
|
*
|
|
33
37
|
* - `up-preflight-behind-ahead` — `origin/<branch>..HEAD` is non-empty. Local
|
|
34
38
|
* commits exist that the remote does not have. A fast-forward is not the
|
|
@@ -42,6 +46,14 @@
|
|
|
42
46
|
* Named separately because the repair is different: look at the edit and
|
|
43
47
|
* decide, or start on the current build with `--no-preflight`.
|
|
44
48
|
*
|
|
49
|
+
* The fourth is answered after the merge has already refused, and only for the
|
|
50
|
+
* one path shape where two checkouts routinely author one file (APRV-300):
|
|
51
|
+
*
|
|
52
|
+
* - `up-preflight-task-file-conflict` — an untracked file under
|
|
53
|
+
* `backlog/tasks/` stopped the fast-forward, and it holds lines the incoming
|
|
54
|
+
* copy does not. See {@link reconcileUntrackedTaskFiles} for what happens
|
|
55
|
+
* when it holds none, and why that is a claim rather than an assumption.
|
|
56
|
+
*
|
|
45
57
|
* `git reset --hard` appears in none of them, and never will: it is the command
|
|
46
58
|
* that turns "your checkout is confusing" into "your work is gone".
|
|
47
59
|
*
|
|
@@ -67,12 +79,12 @@
|
|
|
67
79
|
* operator did not ask for, and says out loud that its answer is only as fresh
|
|
68
80
|
* as the last fetch.
|
|
69
81
|
*/
|
|
70
|
-
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
82
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, } from "node:fs";
|
|
71
83
|
import { spawn, spawnSync } from "node:child_process";
|
|
72
|
-
import { dirname, join, resolve as resolvePathSegments } from "node:path";
|
|
84
|
+
import { basename, dirname, join, resolve as resolvePathSegments } from "node:path";
|
|
73
85
|
import { fileURLToPath } from "node:url";
|
|
74
86
|
import { EXIT_IO, EXIT_OK } from "./exit-codes.js";
|
|
75
|
-
import { currentBranch, failureText, fetchBase, git, repoPath, repoRoot, } from "./git-scope.js";
|
|
87
|
+
import { currentBranch, failureText, fetchBase, git, repoPath, repoRoot, showBlob, } from "./git-scope.js";
|
|
76
88
|
import { runbook, style } from "./style.js";
|
|
77
89
|
// ---------------------------------------------------------------------------
|
|
78
90
|
// Build freshness (moved here from cli/doctor.ts, APRV-215)
|
|
@@ -269,6 +281,7 @@ export const PREFLIGHT_REFUSAL_CODES = [
|
|
|
269
281
|
"up-preflight-behind-ahead",
|
|
270
282
|
"up-preflight-log-diverged",
|
|
271
283
|
"up-preflight-dirty-protected",
|
|
284
|
+
"up-preflight-task-file-conflict",
|
|
272
285
|
];
|
|
273
286
|
const ZERO = {
|
|
274
287
|
behind_by: 0,
|
|
@@ -538,8 +551,33 @@ export function runPreflight(input, spawnBuild = npmBuild) {
|
|
|
538
551
|
if (facts.action === "skipped" || facts.action === "fetch-failed") {
|
|
539
552
|
return { ok: true, facts, detail: report.detail, warning: report.warning };
|
|
540
553
|
}
|
|
554
|
+
// What the task-file reconciliation below cleared, or `null` when it had
|
|
555
|
+
// nothing to do. It rides out on the warning line so the aside directory is
|
|
556
|
+
// printed where the operator is already looking.
|
|
557
|
+
let cleared = null;
|
|
541
558
|
if (facts.behind_by > 0 && report.root !== null && report.target !== null) {
|
|
542
|
-
const
|
|
559
|
+
const root = report.root;
|
|
560
|
+
const target = report.target;
|
|
561
|
+
let merged = git(["merge", "--ff-only", target], root);
|
|
562
|
+
if (!merged.ok) {
|
|
563
|
+
const reconciled = reconcileUntrackedTaskFiles(root, target, failureText(merged));
|
|
564
|
+
if (reconciled.kind === "refused") {
|
|
565
|
+
return { ok: false, facts: { ...facts, action: "refused" }, refusal: reconciled.refusal };
|
|
566
|
+
}
|
|
567
|
+
if (reconciled.kind === "failed") {
|
|
568
|
+
return {
|
|
569
|
+
ok: false,
|
|
570
|
+
facts: { ...facts, action: "refused" },
|
|
571
|
+
failed: { step: reconciled.step, message: reconciled.message },
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
if (reconciled.kind === "cleared") {
|
|
575
|
+
cleared = reconciled.note;
|
|
576
|
+
// Once. A second failure is a different failure — the merge was asked
|
|
577
|
+
// again only because the thing that stopped it is provably gone.
|
|
578
|
+
merged = git(["merge", "--ff-only", target], root);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
543
581
|
if (!merged.ok) {
|
|
544
582
|
return {
|
|
545
583
|
ok: false,
|
|
@@ -607,10 +645,259 @@ export function runPreflight(input, spawnBuild = npmBuild) {
|
|
|
607
645
|
ok: true,
|
|
608
646
|
facts: { ...settled, reexec: plan !== null },
|
|
609
647
|
detail: report.detail,
|
|
610
|
-
warning,
|
|
648
|
+
warning: [warning, cleared].filter((part) => part !== null).join("; ") || null,
|
|
611
649
|
...(plan === null ? {} : { reexec: plan }),
|
|
612
650
|
};
|
|
613
651
|
}
|
|
652
|
+
// ---------------------------------------------------------------------------
|
|
653
|
+
// Untracked task files in the fast-forward's way (APRV-300)
|
|
654
|
+
// ---------------------------------------------------------------------------
|
|
655
|
+
/**
|
|
656
|
+
* The one directory this reconciliation is allowed to touch.
|
|
657
|
+
*
|
|
658
|
+
* Backlog.md task files are the only path in this repository where the same
|
|
659
|
+
* file is routinely authored in two checkouts at once: a lane files a task on
|
|
660
|
+
* its branch and the primary files it again with `backlog task create`, so the
|
|
661
|
+
* primary holds untracked bytes at a path the incoming commit carries. Nothing
|
|
662
|
+
* else has that shape, and widening the prefix would turn a narrow, provable
|
|
663
|
+
* case into a general licence to move an operator's files.
|
|
664
|
+
*/
|
|
665
|
+
const TASK_FILE_PREFIX = "backlog/tasks/";
|
|
666
|
+
/** Git's own sentence when a fast-forward would clobber an untracked file. */
|
|
667
|
+
const UNTRACKED_HEADLINE = "untracked working tree files would be overwritten";
|
|
668
|
+
/**
|
|
669
|
+
* The paths out of that message, or `null` when this was some other failure.
|
|
670
|
+
*
|
|
671
|
+
* {@link failureText} has already joined git's lines with ` | `, so the shape
|
|
672
|
+
* parsed here is `error: The following untracked working tree files would be
|
|
673
|
+
* overwritten by merge: | <path> | <path> | Please move or remove them…`. A
|
|
674
|
+
* path git chose to quote (`core.quotePath`, a name with a control byte or a
|
|
675
|
+
* non-ASCII byte) is answered as `null` rather than unquoted by hand: guessing
|
|
676
|
+
* the spelling of a file about to be moved is the one mistake this whole
|
|
677
|
+
* function exists to avoid, and the existing refusal is a fine answer.
|
|
678
|
+
*/
|
|
679
|
+
function untrackedCollisions(message) {
|
|
680
|
+
const parts = message.split(" | ").map((part) => part.trim());
|
|
681
|
+
const start = parts.findIndex((part) => part.includes(UNTRACKED_HEADLINE));
|
|
682
|
+
if (start < 0)
|
|
683
|
+
return null;
|
|
684
|
+
const paths = [];
|
|
685
|
+
for (const part of parts.slice(start + 1)) {
|
|
686
|
+
if (part.length === 0)
|
|
687
|
+
continue;
|
|
688
|
+
if (part.startsWith("Please ") || part === "Aborting")
|
|
689
|
+
break;
|
|
690
|
+
if (part.startsWith('"'))
|
|
691
|
+
return null;
|
|
692
|
+
paths.push(part);
|
|
693
|
+
}
|
|
694
|
+
return paths.length === 0 ? null : paths;
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Clear untracked task files out of a fast-forward's way, or refuse saying why.
|
|
698
|
+
*
|
|
699
|
+
* The incident (2026-09-07): a lane filed `backlog/tasks/aprv-299` on its
|
|
700
|
+
* branch and its pull request merged, while the primary checkout held the same
|
|
701
|
+
* path untracked from its own `backlog task create`. `git merge --ff-only`
|
|
702
|
+
* refuses to write over an untracked file, so `approval up` refused, and its
|
|
703
|
+
* next-steps text pointed at `git status`, which cannot say whether the local
|
|
704
|
+
* copy holds anything the incoming one does not. That is the question, and it
|
|
705
|
+
* is answerable, so it is answered here.
|
|
706
|
+
*
|
|
707
|
+
* Three verdicts, in this order, each with a different claim behind it:
|
|
708
|
+
*
|
|
709
|
+
* - **identical bytes** — the local file says nothing the incoming file does
|
|
710
|
+
* not say. Removing it loses nothing, so it is removed;
|
|
711
|
+
* - **every line also in the incoming copy** — the primary's copy is a subset
|
|
712
|
+
* of what main now carries (the ordinary shape: a stub filed by hand, then
|
|
713
|
+
* the lane's copy with a plan and criteria added). Nothing is lost by
|
|
714
|
+
* letting the incoming copy land, but "nothing is lost" is a judgment about
|
|
715
|
+
* an operator's file, so the bytes are moved aside rather than deleted and
|
|
716
|
+
* the destination is printed;
|
|
717
|
+
* - **anything else** — the local copy has lines main lacks. That is a
|
|
718
|
+
* question about which version is wanted, and no verb here will pick.
|
|
719
|
+
*
|
|
720
|
+
* Two passes, and the order is the safety property, exactly as APRV-225's
|
|
721
|
+
* payload reconciliation in `cli/log-sync.ts`: every file is judged before any
|
|
722
|
+
* file is touched, so a refusal over the last one cannot have already removed
|
|
723
|
+
* the first.
|
|
724
|
+
*/
|
|
725
|
+
function reconcileUntrackedTaskFiles(root, target, message) {
|
|
726
|
+
const collisions = untrackedCollisions(message);
|
|
727
|
+
if (collisions === null)
|
|
728
|
+
return { kind: "declined" };
|
|
729
|
+
// One path outside `backlog/tasks/` and the whole set is declined. A
|
|
730
|
+
// reconciliation that cleared what it understood and then refused anyway
|
|
731
|
+
// would have moved an operator's files for a merge that was never going to
|
|
732
|
+
// run (AC3).
|
|
733
|
+
if (!collisions.every((path) => path.startsWith(TASK_FILE_PREFIX)))
|
|
734
|
+
return { kind: "declined" };
|
|
735
|
+
const verdicts = [];
|
|
736
|
+
for (const relative of collisions) {
|
|
737
|
+
let local;
|
|
738
|
+
try {
|
|
739
|
+
local = readIfPresent(join(root, relative));
|
|
740
|
+
}
|
|
741
|
+
catch (cause) {
|
|
742
|
+
return {
|
|
743
|
+
kind: "failed",
|
|
744
|
+
step: "reading an untracked task file",
|
|
745
|
+
message: `${relative} stopped the fast-forward and could not be read to judge it: ${detailOf(cause)}. Nothing was moved.`,
|
|
746
|
+
};
|
|
747
|
+
}
|
|
748
|
+
// Gone between the merge's complaint and this read: nothing to clear, and
|
|
749
|
+
// nothing to weigh either. The retry will find out.
|
|
750
|
+
if (local === null)
|
|
751
|
+
continue;
|
|
752
|
+
const incoming = showBlob(root, target, relative);
|
|
753
|
+
if (incoming === null) {
|
|
754
|
+
return {
|
|
755
|
+
kind: "failed",
|
|
756
|
+
step: `git show ${target}:${relative}`,
|
|
757
|
+
message: `the fast-forward stopped on the untracked ${relative} and git could not read the incoming copy to compare it against. Nothing was moved.`,
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
if (incoming.equals(local)) {
|
|
761
|
+
verdicts.push({ kind: "remove", relative });
|
|
762
|
+
continue;
|
|
763
|
+
}
|
|
764
|
+
const only = linesOnlyIn(local, incoming);
|
|
765
|
+
verdicts.push(only === 0 ? { kind: "aside", relative } : { kind: "diverged", relative, only });
|
|
766
|
+
}
|
|
767
|
+
const diverged = verdicts.find((verdict) => verdict.kind === "diverged");
|
|
768
|
+
if (diverged !== undefined) {
|
|
769
|
+
const local = join(root, diverged.relative);
|
|
770
|
+
return {
|
|
771
|
+
kind: "refused",
|
|
772
|
+
refusal: {
|
|
773
|
+
code: "up-preflight-task-file-conflict",
|
|
774
|
+
headline: `the untracked ${diverged.relative} has ${plural(diverged.only, "line")} the incoming copy does not`,
|
|
775
|
+
state: [
|
|
776
|
+
`yours: ${local}`,
|
|
777
|
+
`incoming: ${target.slice(0, 12)}:${diverged.relative}`,
|
|
778
|
+
`${plural(diverged.only, "line")} only yours has`,
|
|
779
|
+
"nothing was merged, nothing was moved, and nothing was rebuilt",
|
|
780
|
+
],
|
|
781
|
+
steps: [
|
|
782
|
+
{
|
|
783
|
+
command: `git show ${target.slice(0, 12)}:${diverged.relative} | diff - ${JSON.stringify(local)}`,
|
|
784
|
+
note: "the two copies, side by side",
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
command: `mv ${JSON.stringify(local)} ${JSON.stringify(`${local}.mine`)}`,
|
|
788
|
+
note: "keep yours out of the way, then run approval up again",
|
|
789
|
+
},
|
|
790
|
+
],
|
|
791
|
+
footer: [
|
|
792
|
+
"an identical copy is removed and a copy main already contains is moved aside; this one is neither",
|
|
793
|
+
"what the preflight will and will not do: docs/cli-reference.md#up",
|
|
794
|
+
],
|
|
795
|
+
next: `git show ${target.slice(0, 12)}:${diverged.relative}`,
|
|
796
|
+
},
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
const removals = verdicts.filter((verdict) => verdict.kind === "remove");
|
|
800
|
+
const asides = verdicts.filter((verdict) => verdict.kind === "aside");
|
|
801
|
+
if (removals.length === 0 && asides.length === 0)
|
|
802
|
+
return { kind: "declined" };
|
|
803
|
+
// The moves go first and the removals second, so a failure part-way has
|
|
804
|
+
// preserved every byte it had a reason to preserve. Either way the message
|
|
805
|
+
// names what already moved: a half-finished clearing an operator cannot see
|
|
806
|
+
// is worse than the collision it was clearing.
|
|
807
|
+
const asideRoot = asidePath(root);
|
|
808
|
+
const moved = [];
|
|
809
|
+
const sofar = () => moved.length === 0 ? "" : ` Already moved aside: ${moved.join(", ")}.`;
|
|
810
|
+
for (const verdict of asides) {
|
|
811
|
+
const from = join(root, verdict.relative);
|
|
812
|
+
const to = join(asideRoot, verdict.relative);
|
|
813
|
+
try {
|
|
814
|
+
mkdirSync(dirname(to), { recursive: true });
|
|
815
|
+
moveFile(from, to);
|
|
816
|
+
}
|
|
817
|
+
catch (cause) {
|
|
818
|
+
return {
|
|
819
|
+
kind: "failed",
|
|
820
|
+
step: "moving an untracked task file aside",
|
|
821
|
+
message: `${verdict.relative} could not be moved to ${to}: ${detailOf(cause)}. Nothing was merged.${sofar()}`,
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
moved.push(to);
|
|
825
|
+
}
|
|
826
|
+
for (const verdict of removals) {
|
|
827
|
+
try {
|
|
828
|
+
rmSync(join(root, verdict.relative), { force: true });
|
|
829
|
+
}
|
|
830
|
+
catch (cause) {
|
|
831
|
+
return {
|
|
832
|
+
kind: "failed",
|
|
833
|
+
step: "removing an untracked task file",
|
|
834
|
+
message: `${verdict.relative} is byte-identical to the incoming copy and could not be removed: ${detailOf(cause)}. Nothing was merged.${sofar()}`,
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
const said = [];
|
|
839
|
+
if (removals.length > 0) {
|
|
840
|
+
said.push(`${plural(removals.length, "untracked task file")} byte-identical to the incoming copy ${removals.length === 1 ? "was" : "were"} removed`);
|
|
841
|
+
}
|
|
842
|
+
if (moved.length > 0) {
|
|
843
|
+
said.push(`${plural(moved.length, "untracked task file")} whose every line the incoming copy already carries ${moved.length === 1 ? "was" : "were"} moved to ${moved.join(", ")}`);
|
|
844
|
+
}
|
|
845
|
+
return { kind: "cleared", note: `${said.join("; ")}, and the fast-forward was retried` };
|
|
846
|
+
}
|
|
847
|
+
/**
|
|
848
|
+
* How many lines of `local` do not appear anywhere in `incoming`.
|
|
849
|
+
*
|
|
850
|
+
* A set of the incoming lines rather than a diff, and deliberately: the
|
|
851
|
+
* question is not whether the two files line up, it is whether the local copy
|
|
852
|
+
* holds any *content* main has not got. A task file reordered by the Backlog.md
|
|
853
|
+
* CLI, or one whose sections were rewritten in place, is the same information
|
|
854
|
+
* in a different arrangement, and zero here is exactly the claim that moving
|
|
855
|
+
* the local copy aside loses nothing.
|
|
856
|
+
*/
|
|
857
|
+
function linesOnlyIn(local, incoming) {
|
|
858
|
+
const carried = new Set(incoming.toString("utf8").split("\n"));
|
|
859
|
+
return local
|
|
860
|
+
.toString("utf8")
|
|
861
|
+
.split("\n")
|
|
862
|
+
.filter((line) => !carried.has(line)).length;
|
|
863
|
+
}
|
|
864
|
+
/**
|
|
865
|
+
* Where a moved-aside file goes: a sibling of the checkout, dated.
|
|
866
|
+
*
|
|
867
|
+
* Outside the repository on purpose. Inside it, the file would still be
|
|
868
|
+
* untracked, `git status` would still show it, and the next fast-forward could
|
|
869
|
+
* collide with it all over again — which is to say the move would have solved
|
|
870
|
+
* nothing. A sibling directory is somewhere `ls ..` finds, the date makes two
|
|
871
|
+
* runs on two days two directories, and nothing here ever removes one: it is
|
|
872
|
+
* the operator's copy, kept until they say otherwise.
|
|
873
|
+
*/
|
|
874
|
+
function asidePath(root) {
|
|
875
|
+
const day = new Date().toISOString().slice(0, 10);
|
|
876
|
+
return join(dirname(root), `${basename(root)}-preflight-aside-${day}`);
|
|
877
|
+
}
|
|
878
|
+
/** `rename`, falling back to copy-and-unlink when the two sit on two devices. */
|
|
879
|
+
function moveFile(from, to) {
|
|
880
|
+
try {
|
|
881
|
+
renameSync(from, to);
|
|
882
|
+
}
|
|
883
|
+
catch (cause) {
|
|
884
|
+
if (cause.code !== "EXDEV")
|
|
885
|
+
throw cause;
|
|
886
|
+
copyFileSync(from, to);
|
|
887
|
+
rmSync(from, { force: true });
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
/** The bytes at `path`, or `null` when there is no file there. */
|
|
891
|
+
function readIfPresent(path) {
|
|
892
|
+
try {
|
|
893
|
+
return readFileSync(path);
|
|
894
|
+
}
|
|
895
|
+
catch (cause) {
|
|
896
|
+
if (cause.code === "ENOENT")
|
|
897
|
+
return null;
|
|
898
|
+
throw new ScanError(`${path} could not be read: ${detailOf(cause)}`);
|
|
899
|
+
}
|
|
900
|
+
}
|
|
614
901
|
/**
|
|
615
902
|
* The plan to re-exec, or `null` when there is nothing to re-exec into.
|
|
616
903
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../src/cli/preflight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../src/cli/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saying what is taking so long, on stderr (APRV-167).
|
|
3
|
+
*
|
|
4
|
+
* `approval policy amend` sat silent for thirty-three seconds before it printed
|
|
5
|
+
* anything: a chain re-verification and a baseline recovery over a three
|
|
6
|
+
* thousand record log, all of it ahead of the first line of output. It read as
|
|
7
|
+
* frozen. An operator nearly abandoned a live ceremony over it, and an earlier
|
|
8
|
+
* one DID abandon a run mid-flight, which left the repository's own gate
|
|
9
|
+
* fail-closed for every agent session until somebody tried again. The fix is not
|
|
10
|
+
* to make the work faster; it is to stop the work being invisible.
|
|
11
|
+
*
|
|
12
|
+
* ## Three rules this module exists to keep
|
|
13
|
+
*
|
|
14
|
+
* **Stderr, always.** `--json` puts one object on stdout and callers parse it.
|
|
15
|
+
* Progress that shared that stream would corrupt every machine consumer, so
|
|
16
|
+
* there is no path here that writes to stdout — the reporter is not even given
|
|
17
|
+
* the handle.
|
|
18
|
+
*
|
|
19
|
+
* **A terminal gets a repaint; anything else gets lines.** A pipe, a CI log and
|
|
20
|
+
* a file have no cursor to move, and `\r` in them is not a progress bar: it is
|
|
21
|
+
* a corrupted line that tools mangle differently and that a bug report then
|
|
22
|
+
* carries. So the carriage return is used only when stderr is a TTY, and the
|
|
23
|
+
* non-terminal form is ordinary newline-terminated lines that a log reader can
|
|
24
|
+
* grep — fewer of them, because they are not being erased.
|
|
25
|
+
*
|
|
26
|
+
* **The first line is immediate; the rest are throttled.** {@link
|
|
27
|
+
* ProgressReporter.phase} writes as it is called, because AC #1 is a line
|
|
28
|
+
* within a second of invocation and a throttle on the FIRST line would be a
|
|
29
|
+
* throttle on the entire point. Counts are rate-limited: a repaint per record
|
|
30
|
+
* over three thousand records is three thousand writes to make one sentence
|
|
31
|
+
* change.
|
|
32
|
+
*/
|
|
33
|
+
import type { Streams } from "./main.js";
|
|
34
|
+
/** How often a count may be repainted, in milliseconds. */
|
|
35
|
+
export declare const PROGRESS_THROTTLE_MS = 200;
|
|
36
|
+
/**
|
|
37
|
+
* Somewhere to say what is happening while it happens.
|
|
38
|
+
*
|
|
39
|
+
* A phase is opened by name, advanced with counts, and closed. Calls that
|
|
40
|
+
* arrive out of that order are ignored rather than refused: this is a comfort
|
|
41
|
+
* feature on a diagnostic path, and a progress reporter that could fail a
|
|
42
|
+
* ceremony would be a strictly worse bargain than the silence it replaces.
|
|
43
|
+
*/
|
|
44
|
+
export interface ProgressReporter {
|
|
45
|
+
/** Announce a step by name. Written immediately, never throttled. */
|
|
46
|
+
phase(text: string): void;
|
|
47
|
+
/** Advance the open phase. Throttled, and skipped when nothing is open. */
|
|
48
|
+
step(done: number, total: number): void;
|
|
49
|
+
/** Close the open phase, optionally with a closing summary. */
|
|
50
|
+
done(text?: string): void;
|
|
51
|
+
/** Is anything actually being written? False for the silent reporter. */
|
|
52
|
+
readonly active: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** A reporter that writes nothing. For callers with no terminal to spare. */
|
|
55
|
+
export declare const silentProgress: ProgressReporter;
|
|
56
|
+
export interface ProgressOptions {
|
|
57
|
+
/**
|
|
58
|
+
* Is stderr a terminal? `process.stderr.isTTY` by default.
|
|
59
|
+
*
|
|
60
|
+
* Note that it is STDERR's tty-ness and not stdout's. `cli/style.ts` asks
|
|
61
|
+
* about stdout because that is where its colour goes; this module writes to
|
|
62
|
+
* the other stream, and `approval policy amend --json > report.json` in a
|
|
63
|
+
* terminal is exactly the case where the two answers differ.
|
|
64
|
+
*/
|
|
65
|
+
tty?: boolean;
|
|
66
|
+
/** The clock the throttle reads. Injectable so a test owns time. */
|
|
67
|
+
now?: () => number;
|
|
68
|
+
/** Throttle interval. {@link PROGRESS_THROTTLE_MS} by default. */
|
|
69
|
+
throttleMs?: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A reporter over `streams.err`.
|
|
73
|
+
*
|
|
74
|
+
* Returns {@link silentProgress} for nothing: even with no terminal the phase
|
|
75
|
+
* lines are worth having, because they are what a CI log or a bug report shows
|
|
76
|
+
* when somebody asks where the thirty seconds went.
|
|
77
|
+
*/
|
|
78
|
+
export declare function createProgress(streams: Streams, options?: ProgressOptions): ProgressReporter;
|