prismatica 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +81 -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 +61 -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 +53 -9
- 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 +80 -21
- 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 +18 -2
- 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/executor.js +7 -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 +206 -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 +87 -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
|
@@ -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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"}
|