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
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `approval log advance` (APRV-125) — the commit-and-push half of the log
|
|
3
|
+
* ritual, as a verb.
|
|
4
|
+
*
|
|
5
|
+
* The APRV-92 flow, written down: the log's appends the remote does not have
|
|
6
|
+
* yet are gathered into a commit whose message names the seq range they cover,
|
|
7
|
+
* and pushed to a short-lived records branch that exists for it. Main is
|
|
8
|
+
* protected here, so the commit reaches it through a pull request, and the PR
|
|
9
|
+
* step is `--pr`, which runs the ordinary gated `gh` path. Since APRV-284 that
|
|
10
|
+
* step also ARMS the merge (`gh pr merge <branch> --merge --auto`, off with
|
|
11
|
+
* `--no-auto-merge`): a records pull request carries only evidence paths, so
|
|
12
|
+
* the click it was waiting for was never a review. {@link armAutoMerge} carries
|
|
13
|
+
* the reasoning and the guard that keeps it true.
|
|
14
|
+
*
|
|
15
|
+
* ## The three refusals that are the point
|
|
16
|
+
*
|
|
17
|
+
* **`log-advance-dirty-stage`.** The staged set must be EXACTLY the log, the
|
|
18
|
+
* queue projection, and the payload store — nothing else. The failure this
|
|
19
|
+
* prevents is the one CLAUDE.md's rule is written against: a log commit riding
|
|
20
|
+
* a branch that carries other work. A verb that ran `git add -A` and hoped
|
|
21
|
+
* would be a worse version of the hand-ritual it replaces, so anything else
|
|
22
|
+
* already staged is a refusal and not a thing to unstage. Unstaging someone
|
|
23
|
+
* else's work is not this verb's decision to make.
|
|
24
|
+
*
|
|
25
|
+
* **`log-advance-checkout-required`.** This verb never checks out anything. The
|
|
26
|
+
* checkout is the footgun: a branch switch with an uncommitted working log
|
|
27
|
+
* rewinds `events.jsonl` under whatever holds it open, which is fork 2 of
|
|
28
|
+
* 2026-08-20. It builds the commit with a scratch index and pushes THAT commit
|
|
29
|
+
* to a records branch by refspec, which moves no HEAD and touches no file.
|
|
30
|
+
*
|
|
31
|
+
* ## The base is the remote, not the local branch (APRV-203)
|
|
32
|
+
*
|
|
33
|
+
* The verb used to commit on the branch you were standing on, which made the
|
|
34
|
+
* operator responsible for that branch being current. A checkout whose local
|
|
35
|
+
* `main` was behind origin produced a records commit parented on a stale tip,
|
|
36
|
+
* carrying a tree that silently reverted everything main had merged since. So
|
|
37
|
+
* the verb fetches first and bases its commit on the remote's tip: `git
|
|
38
|
+
* read-tree` fills a scratch index from origin's tree, the log, the queue
|
|
39
|
+
* projection and the payload store are laid over it from the working tree, and
|
|
40
|
+
* `commit-tree` parents the result on origin. HEAD, the operator's index and
|
|
41
|
+
* every file in the working tree are exactly as they were found.
|
|
42
|
+
*
|
|
43
|
+
* **`log-advance-not-primary`.** Same rule as sync's: the committed log has one
|
|
44
|
+
* home, and it is not a worktree.
|
|
45
|
+
*
|
|
46
|
+
* ## One records branch, and one pull request, per day (APRV-204)
|
|
47
|
+
*
|
|
48
|
+
* The daemon advances on a cadence, so an advance is no longer a once-a-day
|
|
49
|
+
* ceremony and the day's records branch usually already exists. When it does,
|
|
50
|
+
* and its log is a prefix of the working log, the commit is parented on THAT
|
|
51
|
+
* branch rather than on the trunk: parenting every advance on the trunk makes
|
|
52
|
+
* the second push of the day a non-fast-forward of a branch a pull request is
|
|
53
|
+
* already open on. `--pr` asks whether an open pull request exists for the head
|
|
54
|
+
* branch before creating one, so a day gets a single pull request that later
|
|
55
|
+
* advances grow.
|
|
56
|
+
*
|
|
57
|
+
* A local branch that is AHEAD of origin with commits this verb did not make is
|
|
58
|
+
* not a refusal: the advance is based on origin either way, and those commits
|
|
59
|
+
* are simply not part of it. What IS refused is a working log that origin's log
|
|
60
|
+
* is not a prefix of, in either direction, because an advance is only ever the
|
|
61
|
+
* records origin does not have yet.
|
|
62
|
+
*
|
|
63
|
+
* ## This verb appends no event
|
|
64
|
+
*
|
|
65
|
+
* For the same reason `log sync` appends none: committing the file the log
|
|
66
|
+
* lives in is housekeeping on the container, not a decision about the world.
|
|
67
|
+
* The commit is already the record of itself, in git, where a reader can see
|
|
68
|
+
* exactly which bytes moved (SPEC §10.1, amended APRV-125).
|
|
69
|
+
*/
|
|
70
|
+
import { type EventRecord } from "../core/log.js";
|
|
71
|
+
import type { LogHead } from "../core/verify.js";
|
|
72
|
+
import { defaultRecordsBranch } from "./log-anchor.js";
|
|
73
|
+
import { type ProgressReporter } from "./progress.js";
|
|
74
|
+
/**
|
|
75
|
+
* The only paths an advance may stage, as git spells them.
|
|
76
|
+
*
|
|
77
|
+
* A closed list, checked in both directions: everything staged must be in it,
|
|
78
|
+
* and nothing outside it may be staged. Widening it is a reviewable diff.
|
|
79
|
+
*/
|
|
80
|
+
export declare const ADVANCE_PATHS: readonly string[];
|
|
81
|
+
/** Machine-readable refusal codes. Frozen public API, printed in the help. */
|
|
82
|
+
export declare const LOG_ADVANCE_REFUSAL_CODES: readonly ["log-advance-not-primary", "log-advance-no-branch", "log-advance-dirty-stage", "log-advance-checkout-required", "log-advance-unverified", "log-advance-locked", "log-advance-fetch-failed", "log-advance-behind-remote", "log-advance-remote-diverged", "log-advance-git-failed", "log-advance-push-rejected", "log-advance-pr-failed", "log-advance-co-author-invalid"];
|
|
83
|
+
export type LogAdvanceRefusalCode = (typeof LOG_ADVANCE_REFUSAL_CODES)[number];
|
|
84
|
+
/** What became of the auto-merge arm. Closed (SPEC.md §11.1 invariant 6). */
|
|
85
|
+
export type AutoMergeState = "armed" | "withheld" | "refused" | "off";
|
|
86
|
+
export interface LogAdvanceOptions {
|
|
87
|
+
cwd: string;
|
|
88
|
+
/** The records branch to push to. Default `records-log-<YYYY-MM-DD>`. */
|
|
89
|
+
branch?: string | null;
|
|
90
|
+
remote?: string;
|
|
91
|
+
/**
|
|
92
|
+
* The remote branch the records commit is parented on. Defaults to the branch
|
|
93
|
+
* the checkout is standing on, which in the primary checkout is the trunk.
|
|
94
|
+
*/
|
|
95
|
+
base?: string | null;
|
|
96
|
+
/** Open the pull request through `gh` as well as pushing. */
|
|
97
|
+
pr?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Arm auto-merge on the pull request `--pr` opens or updates (APRV-284).
|
|
100
|
+
*
|
|
101
|
+
* Defaults to true and is read only when {@link pr} is set: there is nothing
|
|
102
|
+
* to arm without a pull request. `false` is the opt-out, and it is an opt-out
|
|
103
|
+
* rather than an opt-in because a records pull request that sits at CLEAN
|
|
104
|
+
* waiting for a hand click is the thing this option exists to remove.
|
|
105
|
+
*/
|
|
106
|
+
autoMerge?: boolean;
|
|
107
|
+
/** Optional display credit. It grants no authority and is never inferred. */
|
|
108
|
+
coAuthor?: string;
|
|
109
|
+
/** Report what would happen and stage, commit, and push nothing. */
|
|
110
|
+
dryRun?: boolean;
|
|
111
|
+
/** The date the default branch name is built from. Injected by the CLI edge. */
|
|
112
|
+
today?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Where the phase narration goes (APRV-167/APRV-203). The CLI edge passes a
|
|
115
|
+
* reporter over stderr, and `--json` passes none: a machine consumer parses
|
|
116
|
+
* one object and progress on its stream would corrupt it.
|
|
117
|
+
*/
|
|
118
|
+
progress?: ProgressReporter;
|
|
119
|
+
}
|
|
120
|
+
export interface LogAdvanceReport {
|
|
121
|
+
root: string;
|
|
122
|
+
/** The branch the checkout is standing on. It is not moved, ever. */
|
|
123
|
+
branch: string;
|
|
124
|
+
recordsBranch: string;
|
|
125
|
+
remote: string;
|
|
126
|
+
/** The remote branch the advance was measured against, and the sha it was at. */
|
|
127
|
+
base: {
|
|
128
|
+
branch: string;
|
|
129
|
+
sha: string;
|
|
130
|
+
} | null;
|
|
131
|
+
/**
|
|
132
|
+
* The commit this advance is actually parented on (APRV-204): the base
|
|
133
|
+
* branch's tip on the first advance of a day, and the day's records branch on
|
|
134
|
+
* every advance after it, so the push fast-forwards the branch the day's pull
|
|
135
|
+
* request is open on.
|
|
136
|
+
*/
|
|
137
|
+
parent?: {
|
|
138
|
+
ref: string;
|
|
139
|
+
sha: string;
|
|
140
|
+
};
|
|
141
|
+
/** True when the parent was the day's existing records branch. */
|
|
142
|
+
reusedRecordsBranch?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* True when the day's branch existed and did NOT contain the base, so this
|
|
145
|
+
* advance rebuilt it on the base rather than stacking on its tip (APRV-234).
|
|
146
|
+
*/
|
|
147
|
+
rebuilt?: boolean;
|
|
148
|
+
/** The ref and sha the rebuild was parented on, when there was one. */
|
|
149
|
+
rebuiltOn?: {
|
|
150
|
+
ref: string;
|
|
151
|
+
sha: string;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* The branch this advance would have pushed to, when the rebuilt commit was
|
|
155
|
+
* refused there and a fresh `records-log-<date>-<n>` was opened instead.
|
|
156
|
+
* `null` whenever `recordsBranch` is the branch that was asked for.
|
|
157
|
+
*/
|
|
158
|
+
fallbackFrom?: string | null;
|
|
159
|
+
/** True when this run OPENED the pull request; false when one already stood. */
|
|
160
|
+
prCreated?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* What became of the auto-merge arm (APRV-284). A closed set, machine-read.
|
|
163
|
+
*
|
|
164
|
+
* - `null` — no pull request step ran at all (`pr` was not asked for, or
|
|
165
|
+
* nothing was owed and nothing was pushed).
|
|
166
|
+
* - `"off"` — the caller turned the arm off (`--no-auto-merge`).
|
|
167
|
+
* - `"armed"` — `gh pr merge <branch> --merge --auto` succeeded: the pull
|
|
168
|
+
* request lands as a merge commit when its checks and its branch rules
|
|
169
|
+
* say so, and never before.
|
|
170
|
+
* - `"withheld"` — THIS verb declined to arm, because the branch it pushed
|
|
171
|
+
* carries something outside {@link ADVANCE_PATHS}. See
|
|
172
|
+
* {@link autoMergeNote}.
|
|
173
|
+
* - `"refused"` — `gh` said no (auto-merge disabled on the repository, a
|
|
174
|
+
* merge queue, a pull request already mergeable). The pull request is open
|
|
175
|
+
* either way, so this is reported and never fatal.
|
|
176
|
+
*/
|
|
177
|
+
autoMerge?: AutoMergeState | null;
|
|
178
|
+
/** Why the arm was withheld or refused, verbatim; `null` when it was not. */
|
|
179
|
+
autoMergeNote?: string | null;
|
|
180
|
+
/** The seq range this advance carries, inclusive; null when nothing is owed. */
|
|
181
|
+
range: {
|
|
182
|
+
from: number;
|
|
183
|
+
to: number;
|
|
184
|
+
} | null;
|
|
185
|
+
committedHead: LogHead | null;
|
|
186
|
+
workingHead: LogHead | null;
|
|
187
|
+
staged: readonly string[];
|
|
188
|
+
message: string;
|
|
189
|
+
commit: string | null;
|
|
190
|
+
pushed: boolean;
|
|
191
|
+
prUrl: string | null;
|
|
192
|
+
dryRun: boolean;
|
|
193
|
+
}
|
|
194
|
+
export type LogAdvanceResult = {
|
|
195
|
+
ok: true;
|
|
196
|
+
report: LogAdvanceReport;
|
|
197
|
+
} | {
|
|
198
|
+
ok: false;
|
|
199
|
+
code: LogAdvanceRefusalCode;
|
|
200
|
+
message: string;
|
|
201
|
+
/** Paths that were staged and should not have been. */
|
|
202
|
+
offending?: readonly string[];
|
|
203
|
+
quote?: readonly string[];
|
|
204
|
+
};
|
|
205
|
+
export { defaultRecordsBranch };
|
|
206
|
+
/** `approval log advance`, as a function. The CLI wrapper formats its answer. */
|
|
207
|
+
export declare function logAdvance(options: LogAdvanceOptions): LogAdvanceResult;
|
|
208
|
+
/** Where the records that are already published end. */
|
|
209
|
+
export interface PublishedState {
|
|
210
|
+
/** The highest seq this chain reaches on a records branch, the trunk, or HEAD. */
|
|
211
|
+
publishedSeq: number;
|
|
212
|
+
/** The working log's head seq. */
|
|
213
|
+
workingSeq: number;
|
|
214
|
+
/** Working records above `publishedSeq`, advance bookkeeping included. */
|
|
215
|
+
pending: number;
|
|
216
|
+
/** The same count with the daemon's own advance cycles removed. */
|
|
217
|
+
substantive: number;
|
|
218
|
+
/**
|
|
219
|
+
* The rev the published head was read from, or `null` when no rev carried a
|
|
220
|
+
* copy of this chain (APRV-210).
|
|
221
|
+
*
|
|
222
|
+
* A row that says "N records are not yet on a records branch" is unreadable
|
|
223
|
+
* without it: a rev that resolved to nothing and a rev that carried nothing
|
|
224
|
+
* are the same number and completely different facts, and the doctor's
|
|
225
|
+
* cadence row reported the first as the second on a log whose first 8,379
|
|
226
|
+
* records had been merged to the trunk an hour earlier.
|
|
227
|
+
*/
|
|
228
|
+
publishedRev: string | null;
|
|
229
|
+
/** Every rev that was consulted, in the order they were tried. */
|
|
230
|
+
revs: readonly string[];
|
|
231
|
+
/**
|
|
232
|
+
* Where the OWED SPAN ends: the highest unpublished seq that is not an
|
|
233
|
+
* advance cycle's own bookkeeping, or {@link publishedSeq} when none is
|
|
234
|
+
* (APRV-211).
|
|
235
|
+
*
|
|
236
|
+
* `workingSeq` was the wrong end of the span for the daemon's idempotency
|
|
237
|
+
* key. One gated attempt appends its own `task.registered` and
|
|
238
|
+
* `approval.requested`, which move the head, so the next tick computed a
|
|
239
|
+
* DIFFERENT key for the SAME owed work and asked the human a second question.
|
|
240
|
+
* Measured over substantive records, the span is stable for exactly as long
|
|
241
|
+
* as the owed work is unchanged, which is what makes one owed advance one
|
|
242
|
+
* question — and it still moves the moment a real record lands, so the
|
|
243
|
+
* payload hash still differs per distinct advance and the `supervised-live`
|
|
244
|
+
* draw is never re-rolled for the same span.
|
|
245
|
+
*
|
|
246
|
+
* Never below `publishedSeq`: a span that ran backwards would name a range
|
|
247
|
+
* the commit could not carry.
|
|
248
|
+
*/
|
|
249
|
+
substantiveSeq: number;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* How much of the working log is already on a records branch or the trunk.
|
|
253
|
+
*
|
|
254
|
+
* Reads git's object store and NEVER the network: this is asked on every daemon
|
|
255
|
+
* tick and by `approval doctor`, and a status question must not depend on a
|
|
256
|
+
* remote being reachable. The revs consulted are the local advance anchors
|
|
257
|
+
* (`refs/approval/advance/*`, which {@link logAdvance} writes before it pushes),
|
|
258
|
+
* the remote-tracking refs for the base branch and the day's records branch, and
|
|
259
|
+
* `HEAD`. The highest head among the copies that are a PREFIX of this chain
|
|
260
|
+
* wins; anything else is ignored, which can only make a caller advance less
|
|
261
|
+
* eagerly.
|
|
262
|
+
*
|
|
263
|
+
* It lives here rather than beside the daemon's cadence because `approval
|
|
264
|
+
* doctor` reports the same number and a CLI module may not import the daemon.
|
|
265
|
+
*/
|
|
266
|
+
export declare function publishedState(root: string, logPath: string, records: readonly EventRecord[], where: {
|
|
267
|
+
remote: string;
|
|
268
|
+
base: string | null;
|
|
269
|
+
}, today: string): PublishedState;
|
|
270
|
+
/** The canonical commit subject. It names the seq range, so the log is findable. */
|
|
271
|
+
export declare function advanceMessage(range: {
|
|
272
|
+
from: number;
|
|
273
|
+
to: number;
|
|
274
|
+
}, branch: string): string;
|
|
275
|
+
/**
|
|
276
|
+
* Validate a display-only Git trailer identity before any mutating step.
|
|
277
|
+
*
|
|
278
|
+
* The accepted form is deliberately one line and one header value. It is never
|
|
279
|
+
* derived from a log actor and never interpreted as gate or GitHub authority.
|
|
280
|
+
*/
|
|
281
|
+
export declare function validateCoAuthor(input: string | undefined): {
|
|
282
|
+
ok: true;
|
|
283
|
+
value: string | null;
|
|
284
|
+
} | {
|
|
285
|
+
ok: false;
|
|
286
|
+
message: string;
|
|
287
|
+
};
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
* The commit is already the record of itself, in git, where a reader can see
|
|
68
68
|
* exactly which bytes moved (SPEC §10.1, amended APRV-125).
|
|
69
69
|
*/
|
|
70
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
70
|
+
import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
71
|
+
import { tmpdir } from "node:os";
|
|
71
72
|
import { join } from "node:path";
|
|
72
73
|
import { isAdvanceBookkeeping } from "../core/advance-cycle.js";
|
|
73
74
|
import { withAppendLock } from "../core/log.js";
|
|
@@ -105,6 +106,7 @@ export const LOG_ADVANCE_REFUSAL_CODES = [
|
|
|
105
106
|
"log-advance-git-failed",
|
|
106
107
|
"log-advance-push-rejected",
|
|
107
108
|
"log-advance-pr-failed",
|
|
109
|
+
"log-advance-co-author-invalid",
|
|
108
110
|
];
|
|
109
111
|
function detail(cause) {
|
|
110
112
|
return cause instanceof Error ? cause.message : String(cause);
|
|
@@ -146,6 +148,14 @@ function isAdvancePath(path) {
|
|
|
146
148
|
}
|
|
147
149
|
/** `approval log advance`, as a function. The CLI wrapper formats its answer. */
|
|
148
150
|
export function logAdvance(options) {
|
|
151
|
+
const coAuthor = validateCoAuthor(options.coAuthor);
|
|
152
|
+
if (!coAuthor.ok) {
|
|
153
|
+
return {
|
|
154
|
+
ok: false,
|
|
155
|
+
code: "log-advance-co-author-invalid",
|
|
156
|
+
message: coAuthor.message,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
149
159
|
const remote = options.remote ?? "origin";
|
|
150
160
|
const dryRun = options.dryRun === true;
|
|
151
161
|
const primary = primaryCheckout(options.cwd);
|
|
@@ -249,6 +259,7 @@ function snapshotUnderLock(root, logPath) {
|
|
|
249
259
|
}
|
|
250
260
|
function advanceOnSnapshot(ctx, snapshot) {
|
|
251
261
|
const { root, logPath, branch, remote, dryRun, options } = ctx;
|
|
262
|
+
const coAuthor = options.coAuthor ?? null;
|
|
252
263
|
const progress = options.progress ?? silentProgress;
|
|
253
264
|
// 4. The base: the remote's tip, fetched by this verb rather than by the
|
|
254
265
|
// operator (APRV-203). Everything after this is measured against it.
|
|
@@ -368,7 +379,7 @@ function advanceOnSnapshot(ctx, snapshot) {
|
|
|
368
379
|
const range = drift.relation === "ahead"
|
|
369
380
|
? { from: committedSeq + 1, to: drift.workingHead?.seq ?? committedSeq }
|
|
370
381
|
: null;
|
|
371
|
-
const message = range === null ? "" : advanceMessage(range, branch);
|
|
382
|
+
const message = range === null ? "" : messageWithCoAuthor(advanceMessage(range, branch), coAuthor);
|
|
372
383
|
const carried = ADVANCE_PATHS.filter((path) => existsSync(join(root, path)));
|
|
373
384
|
const report = (over) => ({
|
|
374
385
|
root,
|
|
@@ -478,7 +489,7 @@ function advanceOnSnapshot(ctx, snapshot) {
|
|
|
478
489
|
};
|
|
479
490
|
}
|
|
480
491
|
progress.phase(`opening or updating the pull request for ${target}`);
|
|
481
|
-
const pr = ghPullRequest(root, target, range);
|
|
492
|
+
const pr = ghPullRequest(root, target, range, coAuthor);
|
|
482
493
|
if (!pr.ok) {
|
|
483
494
|
progress.done();
|
|
484
495
|
return {
|
|
@@ -595,6 +606,64 @@ export function advanceMessage(range, branch) {
|
|
|
595
606
|
const span = range.from === range.to ? `seq ${String(range.from)}` : `seq ${String(range.from)}..${String(range.to)}`;
|
|
596
607
|
return `Log advance: ${span} (${branch})`;
|
|
597
608
|
}
|
|
609
|
+
const CO_AUTHOR_MAX_BYTES = 254;
|
|
610
|
+
const CO_AUTHOR_EMAIL = /^[A-Za-z0-9.!#$%&'*+/=?^_`{|}~-]+@[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?$/u;
|
|
611
|
+
/**
|
|
612
|
+
* Validate a display-only Git trailer identity before any mutating step.
|
|
613
|
+
*
|
|
614
|
+
* The accepted form is deliberately one line and one header value. It is never
|
|
615
|
+
* derived from a log actor and never interpreted as gate or GitHub authority.
|
|
616
|
+
*/
|
|
617
|
+
export function validateCoAuthor(input) {
|
|
618
|
+
if (input === undefined)
|
|
619
|
+
return { ok: true, value: null };
|
|
620
|
+
if (input.length === 0 || Buffer.byteLength(input, "utf8") > CO_AUTHOR_MAX_BYTES) {
|
|
621
|
+
return {
|
|
622
|
+
ok: false,
|
|
623
|
+
message: `--co-author expects one Name <email> identity of at most ${String(CO_AUTHOR_MAX_BYTES)} bytes`,
|
|
624
|
+
};
|
|
625
|
+
}
|
|
626
|
+
if (/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/u.test(input) || input.trim() !== input) {
|
|
627
|
+
return {
|
|
628
|
+
ok: false,
|
|
629
|
+
message: "--co-author must be one line with no control or separator characters or surrounding whitespace",
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
const matched = /^([^<>:]+) <([^<>]+)>$/u.exec(input);
|
|
633
|
+
const name = matched?.[1] ?? "";
|
|
634
|
+
const email = matched?.[2] ?? "";
|
|
635
|
+
if (name.length === 0 || name.trim() !== name || !CO_AUTHOR_EMAIL.test(email)) {
|
|
636
|
+
return {
|
|
637
|
+
ok: false,
|
|
638
|
+
message: "--co-author expects exactly Name <email>; it is display credit, not an actor or approval identity",
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
return { ok: true, value: input };
|
|
642
|
+
}
|
|
643
|
+
function coAuthorTrailer(coAuthor) {
|
|
644
|
+
return `Co-authored-by: ${coAuthor}`;
|
|
645
|
+
}
|
|
646
|
+
function messageWithCoAuthor(message, coAuthor) {
|
|
647
|
+
return coAuthor === null ? message : `${message}\n\n${coAuthorTrailer(coAuthor)}`;
|
|
648
|
+
}
|
|
649
|
+
function bodyWithCoAuthor(body, coAuthor) {
|
|
650
|
+
const trailer = coAuthorTrailer(coAuthor);
|
|
651
|
+
const normalized = body.replace(/\r\n/gu, "\n").trimEnd();
|
|
652
|
+
if (normalized === trailer || normalized.endsWith(`\n\n${trailer}`))
|
|
653
|
+
return body;
|
|
654
|
+
return `${body}${body.endsWith("\n") ? "\n" : "\n\n"}${trailer}`;
|
|
655
|
+
}
|
|
656
|
+
function ghWithBodyFile(root, args, body) {
|
|
657
|
+
const scratch = mkdtempSync(join(tmpdir(), "approval-pr-body-"));
|
|
658
|
+
const bodyPath = join(scratch, "body.md");
|
|
659
|
+
try {
|
|
660
|
+
writeFileSync(bodyPath, body, { encoding: "utf8", flag: "wx", mode: 0o600 });
|
|
661
|
+
return gh([...args, "--body-file", bodyPath], root);
|
|
662
|
+
}
|
|
663
|
+
finally {
|
|
664
|
+
rmSync(scratch, { recursive: true, force: true });
|
|
665
|
+
}
|
|
666
|
+
}
|
|
598
667
|
/** The first `http…` line of a `gh` run's output, which is how `gh` names a PR. */
|
|
599
668
|
function urlOf(text) {
|
|
600
669
|
return (text
|
|
@@ -616,19 +685,39 @@ function urlOf(text) {
|
|
|
616
685
|
* `gh pr list` is a read (`read.vcs.remote` in this project's own taxonomy) and
|
|
617
686
|
* asks nothing of the remote's state.
|
|
618
687
|
*/
|
|
619
|
-
function ghPullRequest(root, recordsBranch, range) {
|
|
620
|
-
const listed = gh(["pr", "list", "--head", recordsBranch, "--state", "open", "--json", "url"], root);
|
|
688
|
+
function ghPullRequest(root, recordsBranch, range, coAuthor) {
|
|
689
|
+
const listed = gh(["pr", "list", "--head", recordsBranch, "--state", "open", "--json", "url,body"], root);
|
|
621
690
|
if (!listed.ok) {
|
|
622
691
|
return { ok: false, step: "list", message: failureText(listed) };
|
|
623
692
|
}
|
|
624
693
|
const open = parsePrList(listed.stdout);
|
|
625
694
|
if (open.length > 0) {
|
|
626
|
-
|
|
695
|
+
const current = open[0];
|
|
696
|
+
if (current === undefined)
|
|
697
|
+
throw new Error("unreachable");
|
|
698
|
+
if (coAuthor !== null) {
|
|
699
|
+
if (current.body === null) {
|
|
700
|
+
return {
|
|
701
|
+
ok: false,
|
|
702
|
+
step: "list",
|
|
703
|
+
message: "the open pull request body was unavailable, so its existing text was not replaced",
|
|
704
|
+
};
|
|
705
|
+
}
|
|
706
|
+
const body = bodyWithCoAuthor(current.body, coAuthor);
|
|
707
|
+
if (body !== current.body) {
|
|
708
|
+
const edited = ghWithBodyFile(root, ["pr", "edit", recordsBranch], body);
|
|
709
|
+
if (!edited.ok)
|
|
710
|
+
return { ok: false, step: "edit", message: failureText(edited) };
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
return { ok: true, url: current.url, created: false };
|
|
627
714
|
}
|
|
628
715
|
const title = `Log advance: ${range.from === range.to ? `seq ${String(range.from)}` : `seq ${String(range.from)}..${String(range.to)}`}`;
|
|
629
716
|
const body = "This branch carries the append-only log advance, its queue projection, and the payload files the records reference — one commit per advance, and nothing else. " +
|
|
630
717
|
"Merge with a MERGE COMMIT. Nothing else may ride this branch: a log commit alongside other work is what the one-commit rule forbids.";
|
|
631
|
-
const created =
|
|
718
|
+
const created = coAuthor === null
|
|
719
|
+
? gh(["pr", "create", "--title", title, "--body", body, "--head", recordsBranch], root)
|
|
720
|
+
: ghWithBodyFile(root, ["pr", "create", "--title", title, "--head", recordsBranch], bodyWithCoAuthor(body, coAuthor));
|
|
632
721
|
if (!created.ok) {
|
|
633
722
|
return { ok: false, step: "create", message: failureText(created) };
|
|
634
723
|
}
|
|
@@ -736,14 +825,16 @@ function parsePrList(text) {
|
|
|
736
825
|
}
|
|
737
826
|
if (!Array.isArray(parsed))
|
|
738
827
|
return [];
|
|
739
|
-
const
|
|
828
|
+
const pullRequests = [];
|
|
740
829
|
for (const entry of parsed) {
|
|
741
830
|
if (typeof entry !== "object" || entry === null)
|
|
742
831
|
continue;
|
|
743
832
|
const url = entry["url"];
|
|
744
|
-
|
|
745
|
-
|
|
833
|
+
const body = entry["body"];
|
|
834
|
+
if (typeof url === "string" && url.length > 0) {
|
|
835
|
+
pullRequests.push({ url, body: typeof body === "string" ? body : null });
|
|
836
|
+
}
|
|
746
837
|
}
|
|
747
|
-
return
|
|
838
|
+
return pullRequests;
|
|
748
839
|
}
|
|
749
840
|
//# sourceMappingURL=log-advance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-advance.js","sourceRoot":"","sources":["../../../src/cli/log-advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"log-advance.js","sourceRoot":"","sources":["../../../src/cli/log-advance.ts"],"names":[],"mappings":"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"}
|