prismatica 0.2.0 → 0.4.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 +20 -8
- package/dist/assurance/mainpush.js +383 -8
- package/dist/assurance/mainpush.js.map +1 -1
- package/dist/assurance/proofinputs.js +62 -34
- package/dist/assurance/proofinputs.js.map +1 -1
- package/dist/atlas/labels.js +2 -2
- package/dist/atlas/labels.js.map +1 -1
- package/dist/atlas/next.js +120 -18
- package/dist/atlas/next.js.map +1 -1
- package/dist/board/html.js +37 -9
- package/dist/board/html.js.map +1 -1
- package/dist/board/model.js +58 -14
- package/dist/board/model.js.map +1 -1
- package/dist/cli.js +70 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/delta.js +84 -1
- package/dist/commands/delta.js.map +1 -1
- package/dist/commands/doctor.js +55 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/frame.js +13 -1
- package/dist/commands/frame.js.map +1 -1
- package/dist/commands/guide.js +17 -5
- package/dist/commands/guide.js.map +1 -1
- package/dist/commands/next.js +196 -26
- package/dist/commands/next.js.map +1 -1
- package/dist/commands/release.js +950 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/commands/ship.js +150 -15
- package/dist/commands/ship.js.map +1 -1
- package/dist/commands/start.js +5 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/update.js +435 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/detect.js +40 -10
- package/dist/detect.js.map +1 -1
- package/dist/executor.js +15 -0
- package/dist/executor.js.map +1 -1
- package/dist/git.js +27 -0
- package/dist/git.js.map +1 -1
- package/dist/guide.js +254 -33
- package/dist/guide.js.map +1 -1
- package/dist/paths.js +7 -0
- package/dist/paths.js.map +1 -1
- package/dist/planning/pack.js +12 -7
- package/dist/planning/pack.js.map +1 -1
- package/dist/planning/schema.js +17 -1
- package/dist/planning/schema.js.map +1 -1
- package/dist/prepush.js +52 -0
- package/dist/prepush.js.map +1 -1
- package/dist/records/store.js +17 -1
- package/dist/records/store.js.map +1 -1
- package/dist/records/types.js +122 -7
- package/dist/records/types.js.map +1 -1
- package/dist/releases.js +287 -0
- package/dist/releases.js.map +1 -0
- package/dist/render.js +23 -0
- package/dist/render.js.map +1 -1
- package/dist/title.js +69 -0
- package/dist/title.js.map +1 -0
- package/package.json +5 -1
- package/dist/agent-runner.js +0 -656
- package/dist/agent-runner.js.map +0 -1
- package/dist/atlas/packs.js +0 -169
- package/dist/atlas/packs.js.map +0 -1
package/README.md
CHANGED
|
@@ -103,14 +103,25 @@ The `npm ci` step above it installs **your** checks — your typechecker, linter
|
|
|
103
103
|
test runner, build — and is skipped when the repository has no npm lock file at
|
|
104
104
|
its root, so a Python or Go repo adopts exactly as cleanly as a Node one.
|
|
105
105
|
|
|
106
|
-
**Adopted before 0.2.0
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
106
|
+
**Adopted before 0.2.0, or just fell behind the version you run locally?**
|
|
107
|
+
`prismatica doctor` reports the skew under **Runtime**, beside the version you
|
|
108
|
+
are running locally. The repair is deterministic — from the adopted app's own
|
|
109
|
+
repository:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
prismatica update
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
It moves the one recognised CI gate invocation to the exact Prismatica version
|
|
116
|
+
running here — never npm's `latest` — only after `npm view` independently
|
|
117
|
+
confirms that exact version is public, edits nothing when the pin already
|
|
118
|
+
matches or is newer (never a downgrade), and refuses rather than guesses on a
|
|
119
|
+
self-hosted, missing, or ambiguous integration. `init` will never touch an
|
|
120
|
+
existing workflow itself: it preserves one byte-for-byte by design, which is
|
|
121
|
+
precisely why moving the pin is a deliberate, separate step — `update` is that
|
|
122
|
+
step, done the same way any other change is: a lane, a checkpoint, the
|
|
123
|
+
ordinary full Check run through the exact published target, and an ordinary
|
|
124
|
+
`ship`.
|
|
114
125
|
|
|
115
126
|
Compatibility runs one way. A newer Prismatica reads every record an older
|
|
116
127
|
released one wrote — new persisted fields are optional, and a frozen pre-0.2
|
|
@@ -215,6 +226,7 @@ prismatica guide terms # every bit of jargon in one sentence each
|
|
|
215
226
|
| `close` | Remove a merged lane only at its exact head, preserving uncommitted and unproven-disposable ignored local data; always prints the main fast-forward |
|
|
216
227
|
| `abandon` | Stop a change for good: close its PR and issue, archive its records on its own retained branch, remove the lane. Deletes no branch; prints how to restore it |
|
|
217
228
|
| `doctor` | Repo health, an honest gate-assurance level, an adoption score over what could be measured, and the highest-value next fix |
|
|
229
|
+
| `update` | Move this repo's one recognised CI gate invocation to the exact Prismatica version you are running — after npm confirms it public; never a downgrade, never a floating tag |
|
|
218
230
|
| `stats` | Median rework loops, cost per accepted change, escaped bugs |
|
|
219
231
|
| `view` | The local board: Needs You · Work · Apps · Releases · Understand |
|
|
220
232
|
| `context` | Machine-facing read-only context for the Start and Understand skills, which normally run it themselves. Writes nothing to your repo; available by hand for an agent with no plugin |
|
|
@@ -1,10 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classifies an outgoing push to the MAIN branch as one of the two narrow
|
|
3
|
+
* record-only shapes Prismatica itself needs to land directly on main —
|
|
4
|
+
* never a general record-lane framework, just these two hard-coded cases:
|
|
5
|
+
*
|
|
6
|
+
* 1. a Flow/Rule reconciliation (`flow approve`/`rules approve` writes
|
|
7
|
+
* straight to main) — every canonical Atlas record in the commit being
|
|
8
|
+
* pushed must verify (hash + signature in govern mode, hash alone in
|
|
9
|
+
* map-only), and the proposal files the same command CONSUMES may be
|
|
10
|
+
* deleted alongside it; or
|
|
11
|
+
* 2. a post-merge passport/contract-record update — a brand-new passport
|
|
12
|
+
* whose PR `gh` confirms is actually merged, and/or its contract's
|
|
13
|
+
* `stage` field alone advancing (never any other field).
|
|
14
|
+
*
|
|
15
|
+
* The diff must be EXACTLY one of these — any code, workflow, config,
|
|
16
|
+
* unsigned truth, or a mixture of the two shapes fails closed. Used by
|
|
17
|
+
* `prepush.ts`; never called for anything but the configured main branch.
|
|
18
|
+
*
|
|
19
|
+
* ## Every byte comes from a commit, never from the working tree
|
|
20
|
+
*
|
|
21
|
+
* The question this module answers is "what will `upstream..HEAD` put on
|
|
22
|
+
* main", and only Git objects can answer it. A working-tree read cannot: the
|
|
23
|
+
* tree may hold edits that are not in HEAD (so the verdict would describe
|
|
24
|
+
* bytes nobody is pushing) or lack edits that are (so it would miss what is).
|
|
25
|
+
* That is not a theoretical gap — the pre-push hook runs with whatever the
|
|
26
|
+
* owner or an agent happens to have on disk at that second, so a canonical
|
|
27
|
+
* Flow could be verified in its clean on-disk form while a tampered one rode
|
|
28
|
+
* the push, or vice versa.
|
|
29
|
+
*
|
|
30
|
+
* So: change types come from `git diff --name-status -z` between the two
|
|
31
|
+
* commits, the previous version of anything comes from `upstream`, and the
|
|
32
|
+
* new version — canonical Flows, `rules.md`, contracts, passports and the
|
|
33
|
+
* CONFIG that decides mode and owner key — comes from `head`. There is
|
|
34
|
+
* deliberately no working-tree cleanliness or intersection guard: uncommitted
|
|
35
|
+
* files are not being pushed, and making them change the verdict would be the
|
|
36
|
+
* same mistake in the opposite direction.
|
|
37
|
+
*
|
|
38
|
+
* The one exception is `provenPatchId` (`assurance/passport.ts`), which reads
|
|
39
|
+
* this change's own ledger and review from `mainRoot` — the shared,
|
|
40
|
+
* tier-aware answer to "which proof may a passport bind to", deliberately not
|
|
41
|
+
* duplicated here.
|
|
42
|
+
*/
|
|
43
|
+
import { execa } from 'execa';
|
|
1
44
|
import * as git from '../git.js';
|
|
2
45
|
import { ghAuthenticated, ghInstalled, ghPrView } from '../gh.js';
|
|
3
46
|
import { computeTruthHash, describeError, verifyFlowIntegrity, verifyRulesIntegrity, } from '../atlas/store.js';
|
|
4
47
|
import { ATLAS_CANONICAL_GLOBS, PRISMATICA_DIR } from '../paths.js';
|
|
5
48
|
import { isAllowed } from '../scope.js';
|
|
6
49
|
import { parseMarkdownRecord } from '../records/store.js';
|
|
7
|
-
import { ConfigSchema, ContractSchema, FlowProposalSchema, FlowSchema, PassportSchema, RuleProposalSchema, RulesFileSchema, } from '../records/types.js';
|
|
50
|
+
import { ConfigSchema, ContractSchema, DeltaSchema, FlowProposalSchema, FlowSchema, PassportSchema, ReleaseSchema, RuleProposalSchema, RulesFileSchema, } from '../records/types.js';
|
|
8
51
|
import { contractFieldsEqualExceptStage, stageIndex } from '../state.js';
|
|
9
52
|
import { provenPatchId } from './passport.js';
|
|
10
53
|
const CONFIG_FILE = `${PRISMATICA_DIR}/config.json`;
|
|
@@ -17,6 +60,14 @@ function isFlowRulePath(file) {
|
|
|
17
60
|
function isPassportOrContractPath(file) {
|
|
18
61
|
return /^\.prismatica\/(passports|contracts)\/[^/]+\.md$/.test(file);
|
|
19
62
|
}
|
|
63
|
+
/** `.prismatica/deltas/<id>.md` — never a nested path. */
|
|
64
|
+
function isDeltaPath(file) {
|
|
65
|
+
return /^\.prismatica\/deltas\/[^/]+\.md$/.test(file);
|
|
66
|
+
}
|
|
67
|
+
/** `.prismatica/releases/<version>.md` — never a nested path. */
|
|
68
|
+
function isReleasePath(file) {
|
|
69
|
+
return /^\.prismatica\/releases\/[^/]+\.md$/.test(file);
|
|
70
|
+
}
|
|
20
71
|
/**
|
|
21
72
|
* The committed config — mode, main branch and owner key — read from the
|
|
22
73
|
* commit being pushed. Exported because `prepush.ts` needs the SAME object to
|
|
@@ -387,6 +438,101 @@ async function verifyContractStageOnlyChange(mainRoot, upstream, file, contract)
|
|
|
387
438
|
}
|
|
388
439
|
return { ok: true, reason: `contract stage advance to "${newStage}" verified` };
|
|
389
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* A Delta lifecycle write pushed straight to main: `delta new` (a fresh
|
|
443
|
+
* proposal), `delta approve`/`delta reject` (a status flip from `proposed`,
|
|
444
|
+
* unbound), `frame --from-delta` (an approved, unbound delta newly bound to
|
|
445
|
+
* the contract it just framed — `runFrameFromDelta` writes this directly to
|
|
446
|
+
* main, same as every other delta command), or the terminal `delta done` (a
|
|
447
|
+
* bound delta's status flip to `done`, its `contractId` unchanged — the one
|
|
448
|
+
* transition `runDeltaDone` writes, once that contract's own change has
|
|
449
|
+
* genuinely merged). `done` is reachable from `approved` too: a Start-created
|
|
450
|
+
* delta is written `approved` WITH `contractId` already set and never passes
|
|
451
|
+
* through `framed` at all (see `isDeltaBound`). Never a substance edit:
|
|
452
|
+
* `flowId`, `step`, `today`, `instead`, `keep`, `assumptions`, `showMe` and
|
|
453
|
+
* `createdAt` must stay byte-identical to whatever was there before, and no
|
|
454
|
+
* OTHER status transition is legitimate.
|
|
455
|
+
*
|
|
456
|
+
* Modelled on `verifyContractStageOnlyChange`: a structural check on the
|
|
457
|
+
* SHAPE of the transition, not a re-verification that a referenced change
|
|
458
|
+
* really merged — that already happened once, at write time, against real
|
|
459
|
+
* git state (`runDeltaDone`), and re-deriving it here would duplicate that
|
|
460
|
+
* logic rather than share it. Deltas carry no truth hash or signature (they
|
|
461
|
+
* are plan records, never governed truth), so nothing here signs or hashes
|
|
462
|
+
* anything either.
|
|
463
|
+
*/
|
|
464
|
+
async function verifyDeltaLifecyclePush(mainRoot, upstream, head, entries) {
|
|
465
|
+
for (const entry of entries) {
|
|
466
|
+
const file = entry.path;
|
|
467
|
+
const id = file.slice(file.lastIndexOf('/') + 1, -'.md'.length);
|
|
468
|
+
if (entry.change !== 'added' && entry.change !== 'modified') {
|
|
469
|
+
return {
|
|
470
|
+
ok: false,
|
|
471
|
+
reason: `${file} was ${entry.change} — a main push may only create or advance a delta, never remove one`,
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
let after;
|
|
475
|
+
try {
|
|
476
|
+
after = await readRecordAt(mainRoot, head, file, DeltaSchema);
|
|
477
|
+
}
|
|
478
|
+
catch (error) {
|
|
479
|
+
return { ok: false, reason: `${file} is not a valid record: ${describeError(error)}` };
|
|
480
|
+
}
|
|
481
|
+
if (!after) {
|
|
482
|
+
return { ok: false, reason: `${file} is not in the commit being pushed` };
|
|
483
|
+
}
|
|
484
|
+
if (after.id !== id) {
|
|
485
|
+
return { ok: false, reason: `${file}: filename id ("${id}") and delta.id ("${after.id}") disagree` };
|
|
486
|
+
}
|
|
487
|
+
if (entry.change === 'added') {
|
|
488
|
+
if (after.status !== 'proposed' || after.contractId !== undefined) {
|
|
489
|
+
return { ok: false, reason: `${file} is new on main and not a freshly proposed delta` };
|
|
490
|
+
}
|
|
491
|
+
continue;
|
|
492
|
+
}
|
|
493
|
+
const before = await git.showFile(mainRoot, upstream, file);
|
|
494
|
+
if (before === null) {
|
|
495
|
+
return { ok: false, reason: `${file}'s prior committed version is missing` };
|
|
496
|
+
}
|
|
497
|
+
let previous;
|
|
498
|
+
try {
|
|
499
|
+
previous = parseMarkdownRecord(before, DeltaSchema).data;
|
|
500
|
+
}
|
|
501
|
+
catch (error) {
|
|
502
|
+
return { ok: false, reason: `${file}'s prior committed version does not parse: ${describeError(error)}` };
|
|
503
|
+
}
|
|
504
|
+
const substanceUnchanged = previous.flowId === after.flowId &&
|
|
505
|
+
previous.step === after.step &&
|
|
506
|
+
previous.today === after.today &&
|
|
507
|
+
previous.instead === after.instead &&
|
|
508
|
+
previous.showMe === after.showMe &&
|
|
509
|
+
previous.createdAt === after.createdAt &&
|
|
510
|
+
previous.keep.length === after.keep.length &&
|
|
511
|
+
previous.keep.every((value, index) => value === after.keep[index]) &&
|
|
512
|
+
previous.assumptions.length === after.assumptions.length &&
|
|
513
|
+
previous.assumptions.every((value, index) => value === after.assumptions[index]);
|
|
514
|
+
const legitimateTransition = substanceUnchanged &&
|
|
515
|
+
((previous.status === 'proposed' &&
|
|
516
|
+
(after.status === 'approved' || after.status === 'rejected') &&
|
|
517
|
+
previous.contractId === undefined &&
|
|
518
|
+
after.contractId === undefined) ||
|
|
519
|
+
(previous.status === 'approved' &&
|
|
520
|
+
after.status === 'framed' &&
|
|
521
|
+
previous.contractId === undefined &&
|
|
522
|
+
after.contractId !== undefined) ||
|
|
523
|
+
((previous.status === 'approved' || previous.status === 'framed') &&
|
|
524
|
+
after.status === 'done' &&
|
|
525
|
+
previous.contractId !== undefined &&
|
|
526
|
+
after.contractId === previous.contractId));
|
|
527
|
+
if (!legitimateTransition) {
|
|
528
|
+
return {
|
|
529
|
+
ok: false,
|
|
530
|
+
reason: `${file} changed beyond a lifecycle transition Prismatica itself produces ("${previous.status}" → "${after.status}")`,
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
return { ok: true, reason: 'delta lifecycle write verified' };
|
|
535
|
+
}
|
|
390
536
|
async function verifyPassportContractPush(mainRoot, config, upstream, head, entries) {
|
|
391
537
|
for (const entry of entries) {
|
|
392
538
|
const file = entry.path;
|
|
@@ -474,6 +620,217 @@ async function verifyPassportContractPush(mainRoot, config, upstream, head, entr
|
|
|
474
620
|
}
|
|
475
621
|
return { ok: true, reason: 'post-merge passport/contract-record update verified' };
|
|
476
622
|
}
|
|
623
|
+
/** npm's own genuine-404 wording — anything else (offline, rate-limited, malformed) is uncertain. */
|
|
624
|
+
const NPM_NOT_FOUND = /E404|404 Not Found|is not in (?:this|the) registry/i;
|
|
625
|
+
async function npmPublicVersionQuery(pkgName, version) {
|
|
626
|
+
const result = await execa('npm', ['view', `${pkgName}@${version}`, 'dist.integrity', '--json'], {
|
|
627
|
+
reject: false,
|
|
628
|
+
});
|
|
629
|
+
if (result.failed) {
|
|
630
|
+
return NPM_NOT_FOUND.test(`${result.stderr}${result.stdout}`)
|
|
631
|
+
? { state: 'absent' }
|
|
632
|
+
: { state: 'uncertain' };
|
|
633
|
+
}
|
|
634
|
+
try {
|
|
635
|
+
const parsed = JSON.parse(result.stdout);
|
|
636
|
+
return typeof parsed === 'string' && parsed.length > 0
|
|
637
|
+
? { state: 'present', integrity: parsed }
|
|
638
|
+
: { state: 'uncertain' };
|
|
639
|
+
}
|
|
640
|
+
catch {
|
|
641
|
+
return { state: 'uncertain' };
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
/** `null` = could not be answered. Fails closed on any entry it cannot read a version from. */
|
|
645
|
+
async function npmStagedVersions(pkgName) {
|
|
646
|
+
const result = await execa('npm', ['stage', 'list', pkgName, '--json'], { reject: false });
|
|
647
|
+
if (result.failed) {
|
|
648
|
+
return null;
|
|
649
|
+
}
|
|
650
|
+
let parsed;
|
|
651
|
+
try {
|
|
652
|
+
parsed = JSON.parse(result.stdout);
|
|
653
|
+
}
|
|
654
|
+
catch {
|
|
655
|
+
return null;
|
|
656
|
+
}
|
|
657
|
+
if (!Array.isArray(parsed)) {
|
|
658
|
+
return null;
|
|
659
|
+
}
|
|
660
|
+
const versions = [];
|
|
661
|
+
for (const entry of parsed) {
|
|
662
|
+
if (typeof entry !== 'object' || entry === null) {
|
|
663
|
+
return null;
|
|
664
|
+
}
|
|
665
|
+
const version = entry.version;
|
|
666
|
+
if (typeof version !== 'string' || version.length === 0) {
|
|
667
|
+
return null;
|
|
668
|
+
}
|
|
669
|
+
versions.push(version);
|
|
670
|
+
}
|
|
671
|
+
return versions;
|
|
672
|
+
}
|
|
673
|
+
async function committedPackageName(mainRoot, head) {
|
|
674
|
+
const text = await git.showFile(mainRoot, head, 'package.json');
|
|
675
|
+
if (text === null) {
|
|
676
|
+
return null;
|
|
677
|
+
}
|
|
678
|
+
try {
|
|
679
|
+
const parsed = JSON.parse(text);
|
|
680
|
+
return typeof parsed.name === 'string' && parsed.name.length > 0 ? parsed.name : null;
|
|
681
|
+
}
|
|
682
|
+
catch {
|
|
683
|
+
return null;
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* The release partition: EXACTLY a brand-new, registry-corroborated release
|
|
688
|
+
* record. `published` is corroborated by the version's public presence with
|
|
689
|
+
* matching integrity; `superseded` by the version's absence from BOTH the
|
|
690
|
+
* public listing and the staged candidates. Anything the registry cannot
|
|
691
|
+
* answer fails closed — never "probably fine".
|
|
692
|
+
*/
|
|
693
|
+
async function verifyReleasePush(mainRoot, head, entries) {
|
|
694
|
+
const pkgName = await committedPackageName(mainRoot, head);
|
|
695
|
+
if (!pkgName) {
|
|
696
|
+
return { ok: false, reason: 'package.json is not readable at the commit being pushed' };
|
|
697
|
+
}
|
|
698
|
+
for (const entry of entries) {
|
|
699
|
+
const file = entry.path;
|
|
700
|
+
const id = file.slice(file.lastIndexOf('/') + 1, -'.md'.length);
|
|
701
|
+
if (entry.change !== 'added') {
|
|
702
|
+
return {
|
|
703
|
+
ok: false,
|
|
704
|
+
reason: entry.change === 'modified' || entry.change === 'deleted'
|
|
705
|
+
? `${file} already existed on main — release records are write-once`
|
|
706
|
+
: `${file} was ${entry.change} — a main push only ever adds a release record`,
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
let release;
|
|
710
|
+
try {
|
|
711
|
+
release = await readRecordAt(mainRoot, head, file, ReleaseSchema);
|
|
712
|
+
}
|
|
713
|
+
catch (error) {
|
|
714
|
+
return { ok: false, reason: `${file} is not a valid record: ${describeError(error)}` };
|
|
715
|
+
}
|
|
716
|
+
if (!release) {
|
|
717
|
+
return { ok: false, reason: `${file} is not in the commit being pushed` };
|
|
718
|
+
}
|
|
719
|
+
if (release.version !== id) {
|
|
720
|
+
return {
|
|
721
|
+
ok: false,
|
|
722
|
+
reason: `${file}: filename version ("${id}") and release.version ("${release.version}") must agree`,
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
let boundContract;
|
|
726
|
+
try {
|
|
727
|
+
boundContract = await readRecordAt(mainRoot, head, `${PRISMATICA_DIR}/contracts/${release.contractId}.md`, ContractSchema);
|
|
728
|
+
}
|
|
729
|
+
catch (error) {
|
|
730
|
+
return {
|
|
731
|
+
ok: false,
|
|
732
|
+
reason: `${file}: no valid contract "${release.contractId}" found on main to bind this release to: ${describeError(error)}`,
|
|
733
|
+
};
|
|
734
|
+
}
|
|
735
|
+
if (!boundContract || boundContract.releaseVersion !== release.version) {
|
|
736
|
+
return {
|
|
737
|
+
ok: false,
|
|
738
|
+
reason: `${file}: contract "${release.contractId}" does not bind to release version "${release.version}"`,
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
if (release.outcome === 'published') {
|
|
742
|
+
const query = await npmPublicVersionQuery(pkgName, release.version);
|
|
743
|
+
if (query.state === 'uncertain') {
|
|
744
|
+
return {
|
|
745
|
+
ok: false,
|
|
746
|
+
reason: `${file}: the registry could not confirm ${pkgName}@${release.version}'s publication — fails closed`,
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
if (query.state === 'absent') {
|
|
750
|
+
return {
|
|
751
|
+
ok: false,
|
|
752
|
+
reason: `${file}: claims "published", but ${pkgName}@${release.version} is not publicly present`,
|
|
753
|
+
};
|
|
754
|
+
}
|
|
755
|
+
if (query.integrity !== release.integrity) {
|
|
756
|
+
return {
|
|
757
|
+
ok: false,
|
|
758
|
+
reason: `${file}: the registry's integrity for ${pkgName}@${release.version} does not match this record's`,
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
// The npm half alone is not defence-in-depth: a hand-authored record
|
|
762
|
+
// can claim any `commit` it likes while an unrelated npm publication
|
|
763
|
+
// happens to match on integrity. Independently prove the Git half too —
|
|
764
|
+
// every byte read at `release.commit`, never the working tree.
|
|
765
|
+
const tag = release.tag; // ReleaseSchema requires this when outcome is "published"
|
|
766
|
+
if (!(await git.tagExists(mainRoot, tag))) {
|
|
767
|
+
return { ok: false, reason: `${file}: tag "${tag}" does not exist locally — fails closed` };
|
|
768
|
+
}
|
|
769
|
+
let tagCommit;
|
|
770
|
+
try {
|
|
771
|
+
tagCommit = await git.revParse(mainRoot, tag);
|
|
772
|
+
}
|
|
773
|
+
catch (error) {
|
|
774
|
+
return { ok: false, reason: `${file}: tag "${tag}" could not be resolved: ${describeError(error)}` };
|
|
775
|
+
}
|
|
776
|
+
if (tagCommit !== release.commit) {
|
|
777
|
+
return {
|
|
778
|
+
ok: false,
|
|
779
|
+
reason: `${file}: tag "${tag}" resolves to ${tagCommit}, not the recorded commit "${release.commit}"`,
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
const manifestText = await git.showFile(mainRoot, release.commit, 'package.json');
|
|
783
|
+
if (manifestText === null) {
|
|
784
|
+
return { ok: false, reason: `${file}: package.json is not readable at commit "${release.commit}" — fails closed` };
|
|
785
|
+
}
|
|
786
|
+
let manifestVersion;
|
|
787
|
+
try {
|
|
788
|
+
manifestVersion = JSON.parse(manifestText).version;
|
|
789
|
+
}
|
|
790
|
+
catch {
|
|
791
|
+
return { ok: false, reason: `${file}: package.json at commit "${release.commit}" is not valid JSON` };
|
|
792
|
+
}
|
|
793
|
+
if (manifestVersion !== release.version) {
|
|
794
|
+
return {
|
|
795
|
+
ok: false,
|
|
796
|
+
reason: `${file}: package.json at commit "${release.commit}" has version "${String(manifestVersion)}", not "${release.version}"`,
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
else {
|
|
801
|
+
const query = await npmPublicVersionQuery(pkgName, release.version);
|
|
802
|
+
if (query.state === 'uncertain') {
|
|
803
|
+
return {
|
|
804
|
+
ok: false,
|
|
805
|
+
reason: `${file}: the registry could not confirm ${pkgName}@${release.version}'s absence — fails closed`,
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
if (query.state === 'present') {
|
|
809
|
+
return {
|
|
810
|
+
ok: false,
|
|
811
|
+
reason: `${file}: claims "superseded", but ${pkgName}@${release.version} is publicly present`,
|
|
812
|
+
};
|
|
813
|
+
}
|
|
814
|
+
const staged = await npmStagedVersions(pkgName);
|
|
815
|
+
if (staged === null) {
|
|
816
|
+
return {
|
|
817
|
+
ok: false,
|
|
818
|
+
reason: `${file}: the staged-candidate listing could not be read — fails closed`,
|
|
819
|
+
};
|
|
820
|
+
}
|
|
821
|
+
if (staged.includes(release.version)) {
|
|
822
|
+
return {
|
|
823
|
+
ok: false,
|
|
824
|
+
reason: `${file}: claims "superseded", but ${release.version} is still staged`,
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
return {
|
|
830
|
+
ok: true,
|
|
831
|
+
reason: `${entries.length} release record(s) independently corroborated by the registry`,
|
|
832
|
+
};
|
|
833
|
+
}
|
|
477
834
|
/**
|
|
478
835
|
* `upstream` is the ref to diff against (e.g. `origin/main`) — the commits
|
|
479
836
|
* about to be pushed. `head` is the commit being pushed; `prepush.ts` has
|
|
@@ -489,31 +846,49 @@ export async function classifyMainPush(mainRoot, config, upstream, head = 'HEAD'
|
|
|
489
846
|
if (changed.length === 0) {
|
|
490
847
|
return { ok: true, reason: 'nothing to push' };
|
|
491
848
|
}
|
|
492
|
-
//
|
|
493
|
-
// consumes, post-merge records,
|
|
494
|
-
// never also be canonical
|
|
495
|
-
// `rules.md`, and picomatch's
|
|
496
|
-
//
|
|
849
|
+
// Six-way, in this order: canonical truth, the proposal files an approval
|
|
850
|
+
// consumes, post-merge records, a Delta lifecycle write, a release record,
|
|
851
|
+
// and everything else. A proposal path can never also be canonical
|
|
852
|
+
// (`ATLAS_CANONICAL_GLOBS` is `flows/*.md` plus `rules.md`, and picomatch's
|
|
853
|
+
// `*` does not cross `/`), and a Delta path (`deltas/*.md`) and a release
|
|
854
|
+
// path (`releases/*.md`) are each disjoint from every other partition — so
|
|
855
|
+
// the whole split is genuinely disjoint.
|
|
497
856
|
const flowRuleEntries = changed.filter((entry) => isFlowRulePath(entry.path));
|
|
498
857
|
const proposals = changed
|
|
499
858
|
.map(asProposalFile)
|
|
500
859
|
.filter((proposal) => proposal !== null);
|
|
501
860
|
const recordEntries = changed.filter((entry) => isPassportOrContractPath(entry.path));
|
|
861
|
+
const deltaEntries = changed.filter((entry) => isDeltaPath(entry.path));
|
|
862
|
+
const releaseEntries = changed.filter((entry) => isReleasePath(entry.path));
|
|
502
863
|
const classified = new Set([
|
|
503
864
|
...flowRuleEntries.map((entry) => entry.path),
|
|
504
865
|
...proposals.map((proposal) => proposal.file),
|
|
505
866
|
...recordEntries.map((entry) => entry.path),
|
|
867
|
+
...deltaEntries.map((entry) => entry.path),
|
|
868
|
+
...releaseEntries.map((entry) => entry.path),
|
|
506
869
|
]);
|
|
507
870
|
const other = changed.filter((entry) => !classified.has(entry.path));
|
|
508
871
|
if (other.length > 0) {
|
|
509
872
|
return { ok: false, reason: `touches non-record file(s): ${other.map((entry) => entry.path).join(', ')}` };
|
|
510
873
|
}
|
|
511
|
-
|
|
874
|
+
const shapesUsed = [
|
|
875
|
+
flowRuleEntries.length > 0 || proposals.length > 0,
|
|
876
|
+
recordEntries.length > 0,
|
|
877
|
+
deltaEntries.length > 0,
|
|
878
|
+
releaseEntries.length > 0,
|
|
879
|
+
].filter(Boolean).length;
|
|
880
|
+
if (shapesUsed > 1) {
|
|
512
881
|
return {
|
|
513
882
|
ok: false,
|
|
514
|
-
reason: 'mixes a Flow/Rule reconciliation
|
|
883
|
+
reason: 'mixes a Flow/Rule reconciliation, a passport/contract update, a Delta lifecycle write and/or a release record — push these separately',
|
|
515
884
|
};
|
|
516
885
|
}
|
|
886
|
+
if (releaseEntries.length > 0) {
|
|
887
|
+
return verifyReleasePush(mainRoot, head, releaseEntries);
|
|
888
|
+
}
|
|
889
|
+
if (deltaEntries.length > 0) {
|
|
890
|
+
return verifyDeltaLifecyclePush(mainRoot, upstream, head, deltaEntries);
|
|
891
|
+
}
|
|
517
892
|
if (recordEntries.length > 0) {
|
|
518
893
|
return verifyPassportContractPush(mainRoot, config, upstream, head, recordEntries);
|
|
519
894
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mainpush.js","sourceRoot":"","sources":["../../src/assurance/mainpush.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mainpush.js","sourceRoot":"","sources":["../../src/assurance/mainpush.ts"],"names":[],"mappings":"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"}
|