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.
Files changed (59) hide show
  1. package/dist/assurance/mainpush.js +383 -8
  2. package/dist/assurance/mainpush.js.map +1 -1
  3. package/dist/assurance/proofinputs.js +62 -34
  4. package/dist/assurance/proofinputs.js.map +1 -1
  5. package/dist/atlas/labels.js +2 -2
  6. package/dist/atlas/labels.js.map +1 -1
  7. package/dist/atlas/next.js +81 -18
  8. package/dist/atlas/next.js.map +1 -1
  9. package/dist/board/html.js +37 -9
  10. package/dist/board/html.js.map +1 -1
  11. package/dist/board/model.js +58 -14
  12. package/dist/board/model.js.map +1 -1
  13. package/dist/cli.js +61 -6
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/delta.js +84 -1
  16. package/dist/commands/delta.js.map +1 -1
  17. package/dist/commands/doctor.js +53 -9
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/frame.js +13 -1
  20. package/dist/commands/frame.js.map +1 -1
  21. package/dist/commands/guide.js +17 -5
  22. package/dist/commands/guide.js.map +1 -1
  23. package/dist/commands/next.js +80 -21
  24. package/dist/commands/next.js.map +1 -1
  25. package/dist/commands/release.js +950 -0
  26. package/dist/commands/release.js.map +1 -0
  27. package/dist/commands/ship.js +18 -2
  28. package/dist/commands/ship.js.map +1 -1
  29. package/dist/commands/start.js +5 -2
  30. package/dist/commands/start.js.map +1 -1
  31. package/dist/executor.js +7 -0
  32. package/dist/executor.js.map +1 -1
  33. package/dist/git.js +27 -0
  34. package/dist/git.js.map +1 -1
  35. package/dist/guide.js +206 -33
  36. package/dist/guide.js.map +1 -1
  37. package/dist/paths.js +7 -0
  38. package/dist/paths.js.map +1 -1
  39. package/dist/planning/pack.js +12 -7
  40. package/dist/planning/pack.js.map +1 -1
  41. package/dist/planning/schema.js +17 -1
  42. package/dist/planning/schema.js.map +1 -1
  43. package/dist/prepush.js +52 -0
  44. package/dist/prepush.js.map +1 -1
  45. package/dist/records/store.js +17 -1
  46. package/dist/records/store.js.map +1 -1
  47. package/dist/records/types.js +87 -7
  48. package/dist/records/types.js.map +1 -1
  49. package/dist/releases.js +287 -0
  50. package/dist/releases.js.map +1 -0
  51. package/dist/render.js +23 -0
  52. package/dist/render.js.map +1 -1
  53. package/dist/title.js +69 -0
  54. package/dist/title.js.map +1 -0
  55. package/package.json +5 -1
  56. package/dist/agent-runner.js +0 -656
  57. package/dist/agent-runner.js.map +0 -1
  58. package/dist/atlas/packs.js +0 -169
  59. 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
- // Four-way, in this order: canonical truth, the proposal files an approval
493
- // consumes, post-merge records, and everything else. A proposal path can
494
- // never also be canonical (`ATLAS_CANONICAL_GLOBS` is `flows/*.md` plus
495
- // `rules.md`, and picomatch's `*` does not cross `/`), so the partition is
496
- // genuinely disjoint.
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
- if ((flowRuleEntries.length > 0 || proposals.length > 0) && recordEntries.length > 0) {
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 with a passport/contract update — push these separately',
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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"}