@nextcommerce/campaigns-os 1.54.0 → 1.57.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/CHANGELOG.md +148 -0
- package/CONTEXT.md +19 -5
- package/README.md +26 -12
- package/campaign-spec/README.md +15 -1
- package/campaign-spec/dist/checkout-flow.d.ts +90 -0
- package/campaign-spec/dist/checkout-flow.js +229 -0
- package/campaign-spec/dist/index.d.ts +1 -0
- package/campaign-spec/dist/index.js +6 -1
- package/campaign-spec/dist/normalize.d.ts +3 -2
- package/campaign-spec/dist/normalize.js +7 -5
- package/campaign-spec/dist/routing.d.ts +6 -3
- package/campaign-spec/dist/routing.js +6 -3
- package/campaign-spec/dist/rules/checkout-forward-target.d.ts +17 -0
- package/campaign-spec/dist/rules/checkout-forward-target.js +48 -0
- package/campaign-spec/dist/rules/checkout-step-reaches-checkout.d.ts +12 -0
- package/campaign-spec/dist/rules/checkout-step-reaches-checkout.js +37 -0
- package/campaign-spec/dist/rules/exit-intent-validation.js +2 -1
- package/campaign-spec/dist/rules/index.d.ts +4 -0
- package/campaign-spec/dist/rules/index.js +12 -0
- package/campaign-spec/dist/rules/one-checkout-per-path.d.ts +25 -0
- package/campaign-spec/dist/rules/one-checkout-per-path.js +84 -0
- package/campaign-spec/dist/rules/pre-payment-forward-target.d.ts +12 -0
- package/campaign-spec/dist/rules/pre-payment-forward-target.js +42 -0
- package/campaign-spec/dist/rules/promo-code-input-validation.js +2 -1
- package/campaign-spec/dist/rules/schema-version.d.ts +9 -4
- package/campaign-spec/dist/rules/schema-version.js +10 -5
- package/campaign-spec/dist/types.d.ts +20 -3
- package/campaign-spec/dist/types.js +3 -2
- package/compatibility.json +2 -2
- package/contracts/fixtures/runtime-recipe/accept/current.json +6 -1
- package/contracts/fixtures/runtime-recipe/accept/minimal.json +6 -1
- package/contracts/fixtures/runtime-recipe/dist-states.json +1 -1
- package/contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/committed-output-claim.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/missing-required-field.json +1 -1
- package/contracts/fixtures/runtime-recipe/reject/unknown-kind.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/unknown-output-check.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/unknown-revision.json +5 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-step-id.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json +6 -1
- package/contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json +6 -1
- package/contracts/release-ledger.json +1146 -0
- package/contracts/runtime-recipe.campaigns-os-node-v1.json +6 -1
- package/contracts/supported-surface.json +9 -5
- package/docs/brand-theme-bridge.md +10 -0
- package/docs/build-packet.md +86 -26
- package/docs/campaigns-os-build-flow.md +1 -1
- package/docs/effects.md +2 -5
- package/docs/local-setup.md +1 -1
- package/docs/orientation-contract-reference.md +1 -1
- package/docs/qa-and-test-orders.md +133 -29
- package/docs/runtime-readiness.md +8 -3
- package/docs/skills-revision.md +10 -10
- package/docs/supported-surface.md +1 -1
- package/docs/versioning.md +4 -1
- package/docs/workflow-findings-sidecar.md +57 -2
- package/package.json +4 -1
- package/schemas/campaign-runtime-build-context.v0.schema.json +3 -1
- package/schemas/campaign-runtime-build-packet.v0.schema.json +3 -1
- package/schemas/campaign-spec.v5.schema.json +586 -0
- package/schemas/campaigns-os-run-record.v0.schema.json +20 -15
- package/skills/campaign-lifecycle-orientation/SKILL.md +10 -8
- package/skills/campaign-readback-classification/SKILL.md +3 -3
- package/skills/campaign-run-evidence/SKILL.md +3 -3
- package/skills/contribution-intake/SKILL.md +3 -3
- package/skills/next-campaigns-build/SKILL.md +6 -4
- package/skills/next-campaigns-os/SKILL.md +3 -3
- package/skills/next-campaigns-os-setup/SKILL.md +3 -3
- package/skills/next-campaigns-polish/SKILL.md +21 -6
- package/skills/next-campaigns-qa/SKILL.md +5 -4
- package/skills.json +10 -10
- package/src/adapter-decision-contract.mjs +27 -13
- package/src/brand-theme.mjs +44 -8
- package/src/build-brief.mjs +14 -5
- package/src/campaign-identity.mjs +33 -4
- package/src/cli-helpers.mjs +129 -0
- package/src/cli.mjs +156 -111
- package/src/commercial-journey.mjs +25 -2
- package/src/consent.mjs +3 -2
- package/src/design-source-package.mjs +1 -1
- package/src/design-source-publication.mjs +8 -8
- package/src/deviation.mjs +2 -1
- package/src/doctor/checks.mjs +212 -19
- package/src/doctor/inspect.mjs +4 -2
- package/src/doctor/next-step.mjs +46 -16
- package/src/doctor-sidecar.mjs +5 -3
- package/src/gate-actions.mjs +21 -1
- package/src/input-refresh.mjs +6 -6
- package/src/invocation.mjs +4 -3
- package/src/lifecycle.mjs +88 -6
- package/src/local-preview-policy.mjs +116 -12
- package/src/login.mjs +2 -1
- package/src/polish-browser.mjs +8 -2
- package/src/polish-node.mjs +9 -4
- package/src/polish-readability.mjs +2 -2
- package/src/qa-browser.mjs +741 -120
- package/src/qa-cart-entry.mjs +107 -20
- package/src/qa-node.mjs +179 -72
- package/src/qa-test-order-topology.mjs +118 -1
- package/src/qa-verdict-discovery.mjs +21 -4
- package/src/qa-verdict-publish.mjs +2 -1
- package/src/run-record.mjs +46 -34
- package/src/runtime-state-ignore.mjs +7 -5
- package/src/sdk-markup.mjs +41 -1
- package/src/source-html-intake.mjs +46 -4
- package/src/stage-ledger.mjs +18 -4
- package/src/stage-record.mjs +53 -16
|
@@ -6530,6 +6530,1152 @@
|
|
|
6530
6530
|
}
|
|
6531
6531
|
],
|
|
6532
6532
|
"entry_sha256": "5ab33ca302fa671ac78c3e9b752ed7b251e756b05256f97ff75acd08c58ad5ba"
|
|
6533
|
+
},
|
|
6534
|
+
{
|
|
6535
|
+
"id": "RL-0246",
|
|
6536
|
+
"sequence": 235,
|
|
6537
|
+
"date": "2026-10-07",
|
|
6538
|
+
"kind": "release",
|
|
6539
|
+
"surface_version": null,
|
|
6540
|
+
"changelog_section": "1.54.0+agent.2",
|
|
6541
|
+
"changelog_sha256": "55155add247bb47b07b43252e374b504ac85aef51f6b3315b8b21e85c615df15",
|
|
6542
|
+
"agent_impact": "None for package consumers: this changes repository CI and contributor scripts only. A contributor can run npm run check:fast before pushing, or install it as a pre-push hook with npm run hooks:install; CI runs the same gates on every pull request.",
|
|
6543
|
+
"compatibility": "compatible",
|
|
6544
|
+
"migration": "none",
|
|
6545
|
+
"changes": [
|
|
6546
|
+
{
|
|
6547
|
+
"class": "workflow",
|
|
6548
|
+
"path": ".github/workflows/ci.yml",
|
|
6549
|
+
"surface_entry": null,
|
|
6550
|
+
"summary": "Run the unit and browser lanes as two shards each on separate runners, and cancel a pull request's older run when a newer push arrives; pushes to main are never cancelled."
|
|
6551
|
+
},
|
|
6552
|
+
{
|
|
6553
|
+
"class": "package_export",
|
|
6554
|
+
"path": "package.json",
|
|
6555
|
+
"surface_entry": null,
|
|
6556
|
+
"summary": "Add the contributor scripts check:fast and hooks:install; exports, bin, files and dependencies are unchanged."
|
|
6557
|
+
}
|
|
6558
|
+
],
|
|
6559
|
+
"entry_sha256": "ea7360b560411019e58bf65a1b389cbed5ec9589b7da6f09b7cee1b08b46aed8"
|
|
6560
|
+
},
|
|
6561
|
+
{
|
|
6562
|
+
"id": "RL-0247",
|
|
6563
|
+
"sequence": 236,
|
|
6564
|
+
"date": "2026-10-07",
|
|
6565
|
+
"kind": "release",
|
|
6566
|
+
"surface_version": null,
|
|
6567
|
+
"changelog_section": "1.54.0+agent.4",
|
|
6568
|
+
"changelog_sha256": "320b31d293424ab65875a6b05f1d1f2b79ace291914e8311e69fb52738f584b1",
|
|
6569
|
+
"agent_impact": "Treat ready_with_exceptions as passing QA proof and report every exception to the operator without clearing or waiving it or changing markup just to make it pass. Keep the done closeout action. Repeat build work with record build; follow the deploy prompt for hosted deploy recording. A recorded theme waive needs --waived-by with a named human; qa run --theme-waive is one-run only. Unless the operator has already said test orders are fine for this campaign, ask once, up front, before typed-card test orders because they create real store order records, although no transaction or money movement occurs. No command, gate, flag or verdict-schema behavior changes.",
|
|
6570
|
+
"compatibility": "compatible",
|
|
6571
|
+
"migration": "none",
|
|
6572
|
+
"changes": [
|
|
6573
|
+
{
|
|
6574
|
+
"class": "documentation",
|
|
6575
|
+
"path": "CONTEXT.md",
|
|
6576
|
+
"surface_entry": "CONTEXT.md",
|
|
6577
|
+
"summary": "Explain that typed-card test orders create real store order records and require a once-up-front operator question."
|
|
6578
|
+
},
|
|
6579
|
+
{
|
|
6580
|
+
"class": "named_surface",
|
|
6581
|
+
"path": "docs/build-packet.md",
|
|
6582
|
+
"surface_entry": "docs/build-packet.md",
|
|
6583
|
+
"summary": "The done guidance names record build for repeat build work and distinguishes local-serve recording from hosted deploy instructions."
|
|
6584
|
+
},
|
|
6585
|
+
{
|
|
6586
|
+
"class": "named_surface",
|
|
6587
|
+
"path": "docs/campaigns-os-build-flow.md",
|
|
6588
|
+
"surface_entry": "docs/campaigns-os-build-flow.md",
|
|
6589
|
+
"summary": "Explain the real order record and once-up-front operator question before typed-card test orders."
|
|
6590
|
+
},
|
|
6591
|
+
{
|
|
6592
|
+
"class": "named_surface",
|
|
6593
|
+
"path": "docs/qa-and-test-orders.md",
|
|
6594
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
6595
|
+
"summary": "Explain the real store order record and the once-up-front operator question before test orders."
|
|
6596
|
+
},
|
|
6597
|
+
{
|
|
6598
|
+
"class": "named_surface",
|
|
6599
|
+
"path": "docs/skills-revision.md",
|
|
6600
|
+
"surface_entry": "docs/skills-revision.md",
|
|
6601
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6602
|
+
},
|
|
6603
|
+
{
|
|
6604
|
+
"class": "skill",
|
|
6605
|
+
"path": "skills.json",
|
|
6606
|
+
"surface_entry": null,
|
|
6607
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6608
|
+
},
|
|
6609
|
+
{
|
|
6610
|
+
"class": "skill",
|
|
6611
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
6612
|
+
"surface_entry": null,
|
|
6613
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6614
|
+
},
|
|
6615
|
+
{
|
|
6616
|
+
"class": "skill",
|
|
6617
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
6618
|
+
"surface_entry": null,
|
|
6619
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6620
|
+
},
|
|
6621
|
+
{
|
|
6622
|
+
"class": "skill",
|
|
6623
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
6624
|
+
"surface_entry": null,
|
|
6625
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6626
|
+
},
|
|
6627
|
+
{
|
|
6628
|
+
"class": "skill",
|
|
6629
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
6630
|
+
"surface_entry": null,
|
|
6631
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6632
|
+
},
|
|
6633
|
+
{
|
|
6634
|
+
"class": "skill",
|
|
6635
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
6636
|
+
"surface_entry": null,
|
|
6637
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6638
|
+
},
|
|
6639
|
+
{
|
|
6640
|
+
"class": "skill",
|
|
6641
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
6642
|
+
"surface_entry": null,
|
|
6643
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6644
|
+
},
|
|
6645
|
+
{
|
|
6646
|
+
"class": "skill",
|
|
6647
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
6648
|
+
"surface_entry": null,
|
|
6649
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6650
|
+
},
|
|
6651
|
+
{
|
|
6652
|
+
"class": "skill",
|
|
6653
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
6654
|
+
"surface_entry": null,
|
|
6655
|
+
"summary": "Publish the 1.54.0+skills.2 bundle revision."
|
|
6656
|
+
},
|
|
6657
|
+
{
|
|
6658
|
+
"class": "skill",
|
|
6659
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
6660
|
+
"surface_entry": null,
|
|
6661
|
+
"summary": "Name the recorded theme waiver with the named-human argument and distinguish the one-run ephemeral QA form."
|
|
6662
|
+
},
|
|
6663
|
+
{
|
|
6664
|
+
"class": "cli_surface",
|
|
6665
|
+
"path": "src/cli.mjs",
|
|
6666
|
+
"surface_entry": "next",
|
|
6667
|
+
"summary": "Clarify passing QA exceptions, stage re-recording, recorded versus ephemeral theme waivers, and the test-order operator question in prompts and notices."
|
|
6668
|
+
},
|
|
6669
|
+
{
|
|
6670
|
+
"class": "cli_surface",
|
|
6671
|
+
"path": "src/doctor/next-step.mjs",
|
|
6672
|
+
"surface_entry": "next",
|
|
6673
|
+
"summary": "Keep the done closeout action alongside the passing-QA exception report instruction."
|
|
6674
|
+
}
|
|
6675
|
+
],
|
|
6676
|
+
"entry_sha256": "05712ef5b61b5e84a2937c2528612206dffde439f2929bb853bd72c015538514"
|
|
6677
|
+
},
|
|
6678
|
+
{
|
|
6679
|
+
"id": "RL-0248",
|
|
6680
|
+
"sequence": 237,
|
|
6681
|
+
"date": "2026-10-07",
|
|
6682
|
+
"kind": "release",
|
|
6683
|
+
"surface_version": null,
|
|
6684
|
+
"changelog_section": "1.54.0+agent.5",
|
|
6685
|
+
"changelog_sha256": "b76dfa416d6d20c2ec5e9c94802e2b811ba7133bf248e9430c283f06e3882398",
|
|
6686
|
+
"agent_impact": "qa run --test-order now drives a bundle-card checkout by each card's data-next-bundle-items. --select-package <pkg>:<qty> and --cart <pkg>:<qty> select the card one of whose declared items is that package at that quantity, preferring a card that declares it alone, even when no inner node repeats the package id; a kit card declaring several items is found by any of them. --cart reads the cards again before each ref. Beside --select-package, --cart never clicks another card in the chosen card's selector group (bundle or plain package cards; a card in no recognised selector container counts as in that group): a ref the chosen card carries is left alone, a ref an order bump or a card in another selector group carries is applied through that control, and any other ref is left unapplied and named in the selected_bundle detail as '--cart <ref:qty> not applied: <reason>'. Read that note as a conflict between the two flags; the order and its reconciliation are those of the card --select-package chose. The browser-order-display-parity row reconciles against the packages and quantities every selected bundle card declares, not its data-next-bundle-id, and, without --select-package, fails when an explicit --cart <ref:qty> is not in the order at that quantity, naming requested and persisted units or saying the order carries no line for the package. Read a failing row whose message says the ordered quantity differs from the request as a wrong-tier order, not a stray charge.",
|
|
6687
|
+
"compatibility": "compatible",
|
|
6688
|
+
"migration": "none",
|
|
6689
|
+
"changes": [
|
|
6690
|
+
{
|
|
6691
|
+
"class": "named_surface",
|
|
6692
|
+
"path": "docs/qa-and-test-orders.md",
|
|
6693
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
6694
|
+
"summary": "Say that --select-package and --cart resolve a bundle card by any one of its data-next-bundle-items, that --cart reads the cards again before each ref, that --cart beside --select-package never clicks another card in the chosen card's selector group (a card in no recognised selector container counts as in it) and names a ref it leaves unapplied, and that display parity reconciles against every selected card's declared packages and, without --select-package, fails on an explicit --cart <ref:qty> the order did not carry at that quantity."
|
|
6695
|
+
}
|
|
6696
|
+
],
|
|
6697
|
+
"entry_sha256": "dbb47405a3d96886de22e8ad85dcf9a703da0ef122eccb33b6c64ecb66ea4b38"
|
|
6698
|
+
},
|
|
6699
|
+
{
|
|
6700
|
+
"id": "RL-0249",
|
|
6701
|
+
"sequence": 238,
|
|
6702
|
+
"date": "2026-10-07",
|
|
6703
|
+
"kind": "release",
|
|
6704
|
+
"surface_version": null,
|
|
6705
|
+
"changelog_section": "1.54.0+agent.6",
|
|
6706
|
+
"changelog_sha256": "e49fec365f247824e1af1863ce8124a8ec62dbda64c8c94c68fc7734b83833f0",
|
|
6707
|
+
"agent_impact": "Doctor blocks receipt order lines hidden by cart state, including when the CampaignSpec alone identifies the receipt page. When the Build Packet or CampaignSpec supplies the campaign API key directly, or Build Packet campaign.api_key_source names an environment variable, doctor compares it with built keys even when all pages agree. Correct these findings before test orders.",
|
|
6708
|
+
"compatibility": "compatible",
|
|
6709
|
+
"migration": "none",
|
|
6710
|
+
"changes": [
|
|
6711
|
+
{
|
|
6712
|
+
"class": "cli_surface",
|
|
6713
|
+
"path": "src/doctor/checks.mjs",
|
|
6714
|
+
"surface_entry": "doctor",
|
|
6715
|
+
"summary": "Block receipt order items hidden by cart-state visibility and compare built API keys with the packet, spec, or environment key declared by the packet."
|
|
6716
|
+
}
|
|
6717
|
+
],
|
|
6718
|
+
"entry_sha256": "b56a454c0160f664fd473cbc834146630c207885c2cbf5c2c8e37d294208da4e"
|
|
6719
|
+
},
|
|
6720
|
+
{
|
|
6721
|
+
"id": "RL-0250",
|
|
6722
|
+
"sequence": 239,
|
|
6723
|
+
"date": "2026-10-07",
|
|
6724
|
+
"kind": "release",
|
|
6725
|
+
"surface_version": null,
|
|
6726
|
+
"changelog_section": "1.54.0+agent.7",
|
|
6727
|
+
"changelog_sha256": "8c43339dac5e7fc33ad1bdff344c5db50b2e7b7f8a5d7b631f309676d70e79ce",
|
|
6728
|
+
"agent_impact": "qa run takes --currency <code> to run QA in one currency of a multi-currency campaign: the run adds ?currency=<CODE> to each funnel entry URL it fetches and loads and to the first page load of each test-order path, keeping the existing query; later loads in that tab and a receipt reload carry none, because Campaign Cart keeps the currency for the tab's session. The code must be three letters and is upper-cased; anything else, an empty value included, is refused before any request. The flag takes one code per run (given twice, the last is used): run qa run once per currency. qa parity --currency, and --currency with --legacy-api-test-order, are refused. Read the run currency from evidence.currency on the entry page http:<page_id> assertion of the full verdict; the stored verdict removes URL queries. An entry URL that does not parse carries evidence.currency_not_applied with the reason instead. A run without the flag is unchanged.",
|
|
6729
|
+
"compatibility": "compatible",
|
|
6730
|
+
"migration": "none",
|
|
6731
|
+
"changes": [
|
|
6732
|
+
{
|
|
6733
|
+
"class": "cli_surface",
|
|
6734
|
+
"path": "src/cli.mjs",
|
|
6735
|
+
"surface_entry": "qa",
|
|
6736
|
+
"summary": "The qa run usage line lists --currency <code>; keep the existing QA recommendation command set while next routes owed Polish and QA stages; show an open adapter-decision template in the build prompt and document the single-list behavior, local proof environment, and build fingerprint source in help."
|
|
6737
|
+
},
|
|
6738
|
+
{
|
|
6739
|
+
"class": "named_surface",
|
|
6740
|
+
"path": "docs/qa-and-test-orders.md",
|
|
6741
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
6742
|
+
"summary": "Describe qa run --currency: one code per run, ?currency=<CODE> on the entry URL and on each test-order path's first load with the existing query kept, the three-letter refusal, the qa parity and legacy-order refusals, and evidence.currency (or evidence.currency_not_applied) on the entry page http row."
|
|
6743
|
+
}
|
|
6744
|
+
],
|
|
6745
|
+
"entry_sha256": "ca7d3c91091fd6c5c857820ffe3ea6b9a62a9f428c0eab26cbf0b1df098fc942"
|
|
6746
|
+
},
|
|
6747
|
+
{
|
|
6748
|
+
"id": "RL-0251",
|
|
6749
|
+
"sequence": 240,
|
|
6750
|
+
"date": "2026-10-07",
|
|
6751
|
+
"kind": "release",
|
|
6752
|
+
"surface_version": null,
|
|
6753
|
+
"changelog_section": "1.54.0+agent.8",
|
|
6754
|
+
"changelog_sha256": "57049338b1514529ff826c0477082d1f9e31de77f0a1308473ab0d7cafb8c01b",
|
|
6755
|
+
"agent_impact": "Next asks for Polish when a local preview theme waiver or changed build leaves it owed, and asks for QA again when the last recorded QA build differs from the current output. A packet preview URL does not replace record deploy. Help invocations never journal, and later start is valid re-intake. Follow next before recording downstream work.",
|
|
6756
|
+
"compatibility": "compatible",
|
|
6757
|
+
"migration": "none",
|
|
6758
|
+
"changes": [
|
|
6759
|
+
{
|
|
6760
|
+
"class": "cli_surface",
|
|
6761
|
+
"path": "src/doctor/next-step.mjs",
|
|
6762
|
+
"surface_entry": "next",
|
|
6763
|
+
"summary": "Pick Polish after a local theme waiver or rebuild, and re-owe QA for a different build while still requiring recorded deploy."
|
|
6764
|
+
},
|
|
6765
|
+
{
|
|
6766
|
+
"class": "named_surface",
|
|
6767
|
+
"path": "docs/build-packet.md",
|
|
6768
|
+
"surface_entry": "docs/build-packet.md",
|
|
6769
|
+
"summary": "Explain the deploy record and QA order after a changed build; list recordable values, explain wrapper_policy intake and read precedence, and document one-list behavior and the report-only write."
|
|
6770
|
+
}
|
|
6771
|
+
],
|
|
6772
|
+
"entry_sha256": "7ffb028e273e591d224628ceea618df57233286a273e7813ec3a1fb0e47479c4"
|
|
6773
|
+
},
|
|
6774
|
+
{
|
|
6775
|
+
"id": "RL-0252",
|
|
6776
|
+
"sequence": 241,
|
|
6777
|
+
"date": "2026-10-07",
|
|
6778
|
+
"kind": "release",
|
|
6779
|
+
"surface_version": null,
|
|
6780
|
+
"changelog_section": "1.54.0+agent.9",
|
|
6781
|
+
"changelog_sha256": "14a10e9c78458f100c075cff330d5a72364dcd5b00c720a3bf5809843269f542",
|
|
6782
|
+
"agent_impact": "After a page-kit build, record the true scalar adapter choices in one record build --adapter-decision list; a repeated flag keeps only the last list. wrapper_policy remains an intake choice. Doctor reads the effective report, context, then packet conversion status for leftover wrappers and its adapter warnings name the recording command. The Build Packet and Build Context are not written by record build.",
|
|
6783
|
+
"compatibility": "additive",
|
|
6784
|
+
"migration": "none",
|
|
6785
|
+
"changes": [
|
|
6786
|
+
{
|
|
6787
|
+
"class": "cli_surface",
|
|
6788
|
+
"path": "src/doctor/checks.mjs",
|
|
6789
|
+
"surface_entry": "doctor",
|
|
6790
|
+
"summary": "Check leftover source document wrappers against the effective report, context, then packet conversion status."
|
|
6791
|
+
}
|
|
6792
|
+
],
|
|
6793
|
+
"entry_sha256": "2604e105b3c308004f617b3fd839acc01f32e75dbe4ebf28324f23569aebc5db"
|
|
6794
|
+
},
|
|
6795
|
+
{
|
|
6796
|
+
"id": "RL-0253",
|
|
6797
|
+
"sequence": 242,
|
|
6798
|
+
"date": "2026-10-07",
|
|
6799
|
+
"kind": "release",
|
|
6800
|
+
"surface_version": null,
|
|
6801
|
+
"changelog_section": "1.54.0+agent.10",
|
|
6802
|
+
"changelog_sha256": "c693a2482b40ae5bc570dc591927fc60c2193d339a2c36df8489c885d0028fdd",
|
|
6803
|
+
"agent_impact": "Theme inspection excludes decorative selector subjects from primary and CTA selection while keeping the primary and CTA matching used on main. An accent-only CTA fallback asks the operator to confirm its colour.",
|
|
6804
|
+
"compatibility": "compatible",
|
|
6805
|
+
"migration": "none",
|
|
6806
|
+
"changes": [
|
|
6807
|
+
{
|
|
6808
|
+
"class": "named_surface",
|
|
6809
|
+
"path": "docs/brand-theme-bridge.md",
|
|
6810
|
+
"surface_entry": "docs/brand-theme-bridge.md",
|
|
6811
|
+
"summary": "Explain decorative subject exclusions, main-compatible primary and CTA matching, and the accent-only fallback warning."
|
|
6812
|
+
}
|
|
6813
|
+
],
|
|
6814
|
+
"entry_sha256": "446b7cc41c5af2352fecedebc543e9bb38a31b025afe2b60848d912e615f902b"
|
|
6815
|
+
},
|
|
6816
|
+
{
|
|
6817
|
+
"id": "RL-0254",
|
|
6818
|
+
"sequence": 243,
|
|
6819
|
+
"date": "2026-10-07",
|
|
6820
|
+
"kind": "release",
|
|
6821
|
+
"surface_version": "1.55.0",
|
|
6822
|
+
"changelog_section": "1.55.0",
|
|
6823
|
+
"changelog_sha256": "cfd5709d45e917e8e4ee92e42b8ceb09d560c9fbf023ca4c6552a55874877e7b",
|
|
6824
|
+
"agent_impact": "Run Records carry QA publish reason, closing path, QA verdict/build binding, prompt wait, bounded doctor/QA codes, and separate needs-input/failure invocation counts. Legacy journal entries keep wait unknown. Agent usage input is gone. Re-emitting a record with agent_usage replaces it with a fresh record without carrying its prior remit state; qa publish posts but cannot stamp that older record as published.",
|
|
6825
|
+
"compatibility": "breaking",
|
|
6826
|
+
"migration": "Stop passing agent usage flags. Re-emitting a legacy agent_usage record replaces it and drops its prior remit state; qa publish posts but cannot stamp it.",
|
|
6827
|
+
"changes": [
|
|
6828
|
+
{
|
|
6829
|
+
"class": "compatibility_policy",
|
|
6830
|
+
"path": "contracts/supported-surface.json",
|
|
6831
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
6832
|
+
"summary": "Advance surface_version to 1.55.0 and record the Run Record schema hash, including lifecycle telemetry fields."
|
|
6833
|
+
},
|
|
6834
|
+
{
|
|
6835
|
+
"class": "named_surface",
|
|
6836
|
+
"path": "docs/effects.md",
|
|
6837
|
+
"surface_entry": "docs/effects.md",
|
|
6838
|
+
"summary": "Remove the obsolete agent usage flag validation description."
|
|
6839
|
+
},
|
|
6840
|
+
{
|
|
6841
|
+
"class": "named_surface",
|
|
6842
|
+
"path": "docs/qa-and-test-orders.md",
|
|
6843
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
6844
|
+
"summary": "Name the nullable QA publish decision reason in the Run Record."
|
|
6845
|
+
},
|
|
6846
|
+
{
|
|
6847
|
+
"class": "compatibility_policy",
|
|
6848
|
+
"path": "docs/supported-surface.md",
|
|
6849
|
+
"surface_entry": "docs/supported-surface.md",
|
|
6850
|
+
"summary": "Mark 1.55.0 breaking: add publish, closeout, QA observation, lifecycle stage wait and finding-code, and run-level exit-count fields; remove agent_usage."
|
|
6851
|
+
},
|
|
6852
|
+
{
|
|
6853
|
+
"class": "named_surface",
|
|
6854
|
+
"path": "docs/workflow-findings-sidecar.md",
|
|
6855
|
+
"surface_entry": "docs/workflow-findings-sidecar.md",
|
|
6856
|
+
"summary": "Document the publish reason, closing path, QA verdict/build binding, prompt wait, code sources, and exit buckets."
|
|
6857
|
+
},
|
|
6858
|
+
{
|
|
6859
|
+
"class": "generated_runtime",
|
|
6860
|
+
"path": "package-lock.json",
|
|
6861
|
+
"surface_entry": null,
|
|
6862
|
+
"summary": "Advance the package version to 1.55.0."
|
|
6863
|
+
},
|
|
6864
|
+
{
|
|
6865
|
+
"class": "package_export",
|
|
6866
|
+
"path": "package.json",
|
|
6867
|
+
"surface_entry": null,
|
|
6868
|
+
"summary": "Advance the package version to 1.55.0 with exports unchanged."
|
|
6869
|
+
},
|
|
6870
|
+
{
|
|
6871
|
+
"class": "schema",
|
|
6872
|
+
"path": "schemas/campaigns-os-run-record.v0.schema.json",
|
|
6873
|
+
"surface_entry": "schemas/campaigns-os-run-record.v0.schema.json",
|
|
6874
|
+
"summary": "Add optional QA publish, closeout, and currency fields plus lifecycle wait, finding codes, and exit buckets; remove agent_usage."
|
|
6875
|
+
},
|
|
6876
|
+
{
|
|
6877
|
+
"class": "cli_surface",
|
|
6878
|
+
"path": "src/cli.mjs",
|
|
6879
|
+
"surface_entry": "run-record",
|
|
6880
|
+
"summary": "Pass each closer through internal options, route prompt wait and finding codes to lifecycle capture, and remove agent usage flags."
|
|
6881
|
+
},
|
|
6882
|
+
{
|
|
6883
|
+
"class": "named_surface",
|
|
6884
|
+
"path": "docs/runtime-readiness.md",
|
|
6885
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
6886
|
+
"summary": "Regenerate at surface 1.55.0."
|
|
6887
|
+
},
|
|
6888
|
+
{
|
|
6889
|
+
"class": "documentation",
|
|
6890
|
+
"path": "docs/orientation-contract-reference.md",
|
|
6891
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
6892
|
+
"summary": "Regenerate at surface 1.55.0."
|
|
6893
|
+
},
|
|
6894
|
+
{
|
|
6895
|
+
"class": "compatibility_policy",
|
|
6896
|
+
"path": "compatibility.json",
|
|
6897
|
+
"surface_entry": null,
|
|
6898
|
+
"summary": "Advance the declared version to 1.55.0."
|
|
6899
|
+
},
|
|
6900
|
+
{
|
|
6901
|
+
"class": "named_surface",
|
|
6902
|
+
"path": "docs/local-setup.md",
|
|
6903
|
+
"surface_entry": "docs/local-setup.md",
|
|
6904
|
+
"summary": "Pin the 1.55.0 package in the local setup install command."
|
|
6905
|
+
},
|
|
6906
|
+
{
|
|
6907
|
+
"class": "named_surface",
|
|
6908
|
+
"path": "docs/skills-revision.md",
|
|
6909
|
+
"surface_entry": "docs/skills-revision.md",
|
|
6910
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6911
|
+
},
|
|
6912
|
+
{
|
|
6913
|
+
"class": "skill",
|
|
6914
|
+
"path": "skills.json",
|
|
6915
|
+
"surface_entry": null,
|
|
6916
|
+
"summary": "Advance bundle_revision to 1.55.0+skills.1 and the patch version of each restamped skill."
|
|
6917
|
+
},
|
|
6918
|
+
{
|
|
6919
|
+
"class": "skill",
|
|
6920
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
6921
|
+
"surface_entry": null,
|
|
6922
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6923
|
+
},
|
|
6924
|
+
{
|
|
6925
|
+
"class": "skill",
|
|
6926
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
6927
|
+
"surface_entry": null,
|
|
6928
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6929
|
+
},
|
|
6930
|
+
{
|
|
6931
|
+
"class": "skill",
|
|
6932
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
6933
|
+
"surface_entry": null,
|
|
6934
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6935
|
+
},
|
|
6936
|
+
{
|
|
6937
|
+
"class": "skill",
|
|
6938
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
6939
|
+
"surface_entry": null,
|
|
6940
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6941
|
+
},
|
|
6942
|
+
{
|
|
6943
|
+
"class": "skill",
|
|
6944
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
6945
|
+
"surface_entry": null,
|
|
6946
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6947
|
+
},
|
|
6948
|
+
{
|
|
6949
|
+
"class": "skill",
|
|
6950
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
6951
|
+
"surface_entry": null,
|
|
6952
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6953
|
+
},
|
|
6954
|
+
{
|
|
6955
|
+
"class": "skill",
|
|
6956
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
6957
|
+
"surface_entry": null,
|
|
6958
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6959
|
+
},
|
|
6960
|
+
{
|
|
6961
|
+
"class": "skill",
|
|
6962
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
6963
|
+
"surface_entry": null,
|
|
6964
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6965
|
+
},
|
|
6966
|
+
{
|
|
6967
|
+
"class": "skill",
|
|
6968
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
6969
|
+
"surface_entry": null,
|
|
6970
|
+
"summary": "Restamp to skills bundle 1.55.0+skills.1."
|
|
6971
|
+
}
|
|
6972
|
+
],
|
|
6973
|
+
"entry_sha256": "cdd823b095d9a05eb39d751c20396d25303dcc00dc1a2c12baeb15ac580e6819"
|
|
6974
|
+
},
|
|
6975
|
+
{
|
|
6976
|
+
"id": "RL-0255",
|
|
6977
|
+
"sequence": 244,
|
|
6978
|
+
"date": "2026-10-08",
|
|
6979
|
+
"kind": "release",
|
|
6980
|
+
"surface_version": "1.56.0",
|
|
6981
|
+
"changelog_section": "1.56.0",
|
|
6982
|
+
"changelog_sha256": "57d6b92e7a715769dd83ee58c6c84c2deefcedda8d05c0acc019538acae6aa9c",
|
|
6983
|
+
"agent_impact": "CampaignSpec 5.0: checkout is the page that takes payment and checkout_step is a non-paying checkout form page; 4.2/4.3 specs are upgraded on read. Four new doctor errors check multi-step paths. Build Packet and Build Context Page Kit frontmatter may carry success_url and step_number. QA drives the Checkout on the tested path, walks checkout steps, and enters select pages through bundle cards and a checkout button.",
|
|
6984
|
+
"compatibility": "breaking",
|
|
6985
|
+
"migration": "Validate 5.0 specs with schemas/campaign-spec.v5.schema.json (4.2/4.3 keep the v4 schema). Accept success_url and step_number in page_kit.frontmatter. Find the payment page as the checkout on a path, not the first page typed checkout; fix any spec the four new rules reject.",
|
|
6986
|
+
"changes": [
|
|
6987
|
+
{
|
|
6988
|
+
"class": "documentation",
|
|
6989
|
+
"path": "CONTEXT.md",
|
|
6990
|
+
"surface_entry": "CONTEXT.md",
|
|
6991
|
+
"summary": "Add the Checkout (payment page) glossary entry: the page typed checkout takes payment, select and checkout_step lead into it, and consumers ask for the Checkout on a path."
|
|
6992
|
+
},
|
|
6993
|
+
{
|
|
6994
|
+
"class": "generated_runtime",
|
|
6995
|
+
"path": "campaign-spec/checkout-flow.ts",
|
|
6996
|
+
"surface_entry": null,
|
|
6997
|
+
"summary": "Add the v4 to v5 read-time upgrade (upgradeCampaignSpec) and the path helpers that find the Checkout on a path."
|
|
6998
|
+
},
|
|
6999
|
+
{
|
|
7000
|
+
"class": "generated_runtime",
|
|
7001
|
+
"path": "campaign-spec/index.ts",
|
|
7002
|
+
"surface_entry": null,
|
|
7003
|
+
"summary": "Export the checkout-flow helpers, page-type sets and upgradeCampaignSpec."
|
|
7004
|
+
},
|
|
7005
|
+
{
|
|
7006
|
+
"class": "generated_runtime",
|
|
7007
|
+
"path": "campaign-spec/normalize.ts",
|
|
7008
|
+
"surface_entry": null,
|
|
7009
|
+
"summary": "Upgrade a 4.2/4.3 spec to the v5 page vocabulary on read, returning a copy."
|
|
7010
|
+
},
|
|
7011
|
+
{
|
|
7012
|
+
"class": "generated_runtime",
|
|
7013
|
+
"path": "campaign-spec/routing.ts",
|
|
7014
|
+
"surface_entry": null,
|
|
7015
|
+
"summary": "Correct the payment-bearing note: split-checkout steps are checkout_step, and only the Checkout satisfies success_url."
|
|
7016
|
+
},
|
|
7017
|
+
{
|
|
7018
|
+
"class": "generated_runtime",
|
|
7019
|
+
"path": "campaign-spec/rules/checkout-forward-target.ts",
|
|
7020
|
+
"surface_entry": null,
|
|
7021
|
+
"summary": "Add CheckoutForwardTarget: a Checkout must forward to an upsell, downsell or thank-you page."
|
|
7022
|
+
},
|
|
7023
|
+
{
|
|
7024
|
+
"class": "generated_runtime",
|
|
7025
|
+
"path": "campaign-spec/rules/checkout-step-reaches-checkout.ts",
|
|
7026
|
+
"surface_entry": null,
|
|
7027
|
+
"summary": "Add CheckoutStepReachesCheckout: every checkout_step must lie on a path to a Checkout."
|
|
7028
|
+
},
|
|
7029
|
+
{
|
|
7030
|
+
"class": "generated_runtime",
|
|
7031
|
+
"path": "campaign-spec/rules/exit-intent-validation.ts",
|
|
7032
|
+
"surface_entry": null,
|
|
7033
|
+
"summary": "Accept exit intent on select and checkout_step pages as well as on a Checkout."
|
|
7034
|
+
},
|
|
7035
|
+
{
|
|
7036
|
+
"class": "generated_runtime",
|
|
7037
|
+
"path": "campaign-spec/rules/index.ts",
|
|
7038
|
+
"surface_entry": null,
|
|
7039
|
+
"summary": "Register the four multi-step checkout rules."
|
|
7040
|
+
},
|
|
7041
|
+
{
|
|
7042
|
+
"class": "generated_runtime",
|
|
7043
|
+
"path": "campaign-spec/rules/one-checkout-per-path.ts",
|
|
7044
|
+
"surface_entry": null,
|
|
7045
|
+
"summary": "Add OneCheckoutPerPath: every path from an entry page to an upsell or downsell passes exactly one Checkout."
|
|
7046
|
+
},
|
|
7047
|
+
{
|
|
7048
|
+
"class": "generated_runtime",
|
|
7049
|
+
"path": "campaign-spec/rules/pre-payment-forward-target.ts",
|
|
7050
|
+
"surface_entry": null,
|
|
7051
|
+
"summary": "Add PrePaymentForwardTarget: a select or checkout_step page must not forward straight to a post-payment page."
|
|
7052
|
+
},
|
|
7053
|
+
{
|
|
7054
|
+
"class": "generated_runtime",
|
|
7055
|
+
"path": "campaign-spec/rules/promo-code-input-validation.ts",
|
|
7056
|
+
"surface_entry": null,
|
|
7057
|
+
"summary": "Accept promo-code input on select and checkout_step pages as well as on a Checkout."
|
|
7058
|
+
},
|
|
7059
|
+
{
|
|
7060
|
+
"class": "generated_runtime",
|
|
7061
|
+
"path": "campaign-spec/rules/schema-version.ts",
|
|
7062
|
+
"surface_entry": null,
|
|
7063
|
+
"summary": "Support schema_version 5.0 beside 4.2 and 4.3."
|
|
7064
|
+
},
|
|
7065
|
+
{
|
|
7066
|
+
"class": "generated_runtime",
|
|
7067
|
+
"path": "campaign-spec/types.ts",
|
|
7068
|
+
"surface_entry": null,
|
|
7069
|
+
"summary": "Add the checkout_step page type and document checkout as the page that takes payment."
|
|
7070
|
+
},
|
|
7071
|
+
{
|
|
7072
|
+
"class": "compatibility_policy",
|
|
7073
|
+
"path": "compatibility.json",
|
|
7074
|
+
"surface_entry": "compatibility.json",
|
|
7075
|
+
"summary": "Name 1.56.0 and widen the CampaignSpec range to 4.2-5.0."
|
|
7076
|
+
},
|
|
7077
|
+
{
|
|
7078
|
+
"class": "named_surface",
|
|
7079
|
+
"path": "contracts/fixtures/runtime-recipe/accept/current.json",
|
|
7080
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/accept/current.json",
|
|
7081
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7082
|
+
},
|
|
7083
|
+
{
|
|
7084
|
+
"class": "named_surface",
|
|
7085
|
+
"path": "contracts/fixtures/runtime-recipe/accept/minimal.json",
|
|
7086
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/accept/minimal.json",
|
|
7087
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7088
|
+
},
|
|
7089
|
+
{
|
|
7090
|
+
"class": "named_surface",
|
|
7091
|
+
"path": "contracts/fixtures/runtime-recipe/dist-states.json",
|
|
7092
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/dist-states.json",
|
|
7093
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7094
|
+
},
|
|
7095
|
+
{
|
|
7096
|
+
"class": "named_surface",
|
|
7097
|
+
"path": "contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json",
|
|
7098
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json",
|
|
7099
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7100
|
+
},
|
|
7101
|
+
{
|
|
7102
|
+
"class": "named_surface",
|
|
7103
|
+
"path": "contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json",
|
|
7104
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json",
|
|
7105
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7106
|
+
},
|
|
7107
|
+
{
|
|
7108
|
+
"class": "named_surface",
|
|
7109
|
+
"path": "contracts/fixtures/runtime-recipe/reject/committed-output-claim.json",
|
|
7110
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/committed-output-claim.json",
|
|
7111
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7112
|
+
},
|
|
7113
|
+
{
|
|
7114
|
+
"class": "named_surface",
|
|
7115
|
+
"path": "contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json",
|
|
7116
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json",
|
|
7117
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7118
|
+
},
|
|
7119
|
+
{
|
|
7120
|
+
"class": "named_surface",
|
|
7121
|
+
"path": "contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json",
|
|
7122
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json",
|
|
7123
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7124
|
+
},
|
|
7125
|
+
{
|
|
7126
|
+
"class": "named_surface",
|
|
7127
|
+
"path": "contracts/fixtures/runtime-recipe/reject/missing-required-field.json",
|
|
7128
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/missing-required-field.json",
|
|
7129
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7130
|
+
},
|
|
7131
|
+
{
|
|
7132
|
+
"class": "named_surface",
|
|
7133
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-kind.json",
|
|
7134
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-kind.json",
|
|
7135
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7136
|
+
},
|
|
7137
|
+
{
|
|
7138
|
+
"class": "named_surface",
|
|
7139
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json",
|
|
7140
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json",
|
|
7141
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7142
|
+
},
|
|
7143
|
+
{
|
|
7144
|
+
"class": "named_surface",
|
|
7145
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-output-check.json",
|
|
7146
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-output-check.json",
|
|
7147
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7148
|
+
},
|
|
7149
|
+
{
|
|
7150
|
+
"class": "named_surface",
|
|
7151
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-revision.json",
|
|
7152
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-revision.json",
|
|
7153
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7154
|
+
},
|
|
7155
|
+
{
|
|
7156
|
+
"class": "named_surface",
|
|
7157
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-step-id.json",
|
|
7158
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-step-id.json",
|
|
7159
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7160
|
+
},
|
|
7161
|
+
{
|
|
7162
|
+
"class": "named_surface",
|
|
7163
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json",
|
|
7164
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json",
|
|
7165
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7166
|
+
},
|
|
7167
|
+
{
|
|
7168
|
+
"class": "named_surface",
|
|
7169
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json",
|
|
7170
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json",
|
|
7171
|
+
"summary": "Regenerate the fixture at recipe revision 1.0.3."
|
|
7172
|
+
},
|
|
7173
|
+
{
|
|
7174
|
+
"class": "hashed_surface",
|
|
7175
|
+
"path": "contracts/runtime-recipe.campaigns-os-node-v1.json",
|
|
7176
|
+
"surface_entry": "contracts/runtime-recipe.campaigns-os-node-v1.json",
|
|
7177
|
+
"summary": "Enumerate checkout-flow.ts and the four new rule sources as inputs; advance recipe_revision to 1.0.3."
|
|
7178
|
+
},
|
|
7179
|
+
{
|
|
7180
|
+
"class": "compatibility_policy",
|
|
7181
|
+
"path": "contracts/supported-surface.json",
|
|
7182
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
7183
|
+
"summary": "Advance surface_version to 1.56.0, add the v5 CampaignSpec schema as a hashed entry and package export, and record the new Build Packet, Build Context and runtime recipe hashes."
|
|
7184
|
+
},
|
|
7185
|
+
{
|
|
7186
|
+
"class": "named_surface",
|
|
7187
|
+
"path": "docs/build-packet.md",
|
|
7188
|
+
"surface_entry": "docs/build-packet.md",
|
|
7189
|
+
"summary": "Author local specs against the v5 schema and document the success_url and step_number Page Kit frontmatter keys and the checkout_step projection."
|
|
7190
|
+
},
|
|
7191
|
+
{
|
|
7192
|
+
"class": "named_surface",
|
|
7193
|
+
"path": "docs/local-setup.md",
|
|
7194
|
+
"surface_entry": "docs/local-setup.md",
|
|
7195
|
+
"summary": "Pin the documented toolkit install to 1.56.0."
|
|
7196
|
+
},
|
|
7197
|
+
{
|
|
7198
|
+
"class": "documentation",
|
|
7199
|
+
"path": "docs/orientation-contract-reference.md",
|
|
7200
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
7201
|
+
"summary": "Regenerate the reference at surface 1.56.0."
|
|
7202
|
+
},
|
|
7203
|
+
{
|
|
7204
|
+
"class": "named_surface",
|
|
7205
|
+
"path": "docs/qa-and-test-orders.md",
|
|
7206
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
7207
|
+
"summary": "Document multi-step test orders: the Checkout on the tested path, select-page entry through bundle cards and a checkout button, and the checkout_step_submitted rung."
|
|
7208
|
+
},
|
|
7209
|
+
{
|
|
7210
|
+
"class": "named_surface",
|
|
7211
|
+
"path": "docs/runtime-readiness.md",
|
|
7212
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
7213
|
+
"summary": "Regenerate at recipe revision 1.0.3 and surface 1.56.0."
|
|
7214
|
+
},
|
|
7215
|
+
{
|
|
7216
|
+
"class": "named_surface",
|
|
7217
|
+
"path": "docs/skills-revision.md",
|
|
7218
|
+
"surface_entry": "docs/skills-revision.md",
|
|
7219
|
+
"summary": "Refresh the bundle revision examples to 1.56.0+skills.1."
|
|
7220
|
+
},
|
|
7221
|
+
{
|
|
7222
|
+
"class": "compatibility_policy",
|
|
7223
|
+
"path": "docs/supported-surface.md",
|
|
7224
|
+
"surface_entry": "docs/supported-surface.md",
|
|
7225
|
+
"summary": "Mark 1.56.0 breaking: the v5 CampaignSpec schema, and success_url and step_number in the closed Page Kit frontmatter object of the Build Packet and Build Context."
|
|
7226
|
+
},
|
|
7227
|
+
{
|
|
7228
|
+
"class": "compatibility_policy",
|
|
7229
|
+
"path": "docs/versioning.md",
|
|
7230
|
+
"surface_entry": "docs/versioning.md",
|
|
7231
|
+
"summary": "State CampaignSpec 5.0 as current, with 4.2-4.3 still read and upgraded on read."
|
|
7232
|
+
},
|
|
7233
|
+
{
|
|
7234
|
+
"class": "generated_runtime",
|
|
7235
|
+
"path": "package-lock.json",
|
|
7236
|
+
"surface_entry": null,
|
|
7237
|
+
"summary": "Advance the package version to 1.56.0."
|
|
7238
|
+
},
|
|
7239
|
+
{
|
|
7240
|
+
"class": "package_export",
|
|
7241
|
+
"path": "package.json",
|
|
7242
|
+
"surface_entry": null,
|
|
7243
|
+
"summary": "Advance the package version to 1.56.0 and export schemas/campaign-spec.v5.schema.json."
|
|
7244
|
+
},
|
|
7245
|
+
{
|
|
7246
|
+
"class": "schema",
|
|
7247
|
+
"path": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
7248
|
+
"surface_entry": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
7249
|
+
"summary": "Allow success_url and step_number in page_kit.frontmatter."
|
|
7250
|
+
},
|
|
7251
|
+
{
|
|
7252
|
+
"class": "schema",
|
|
7253
|
+
"path": "schemas/campaign-runtime-build-packet.v0.schema.json",
|
|
7254
|
+
"surface_entry": "schemas/campaign-runtime-build-packet.v0.schema.json",
|
|
7255
|
+
"summary": "Allow success_url and step_number in source_html.pages[].page_kit.frontmatter."
|
|
7256
|
+
},
|
|
7257
|
+
{
|
|
7258
|
+
"class": "schema",
|
|
7259
|
+
"path": "schemas/campaign-spec.v5.schema.json",
|
|
7260
|
+
"surface_entry": "schemas/campaign-spec.v5.schema.json",
|
|
7261
|
+
"summary": "Add the CampaignSpec 5.0 schema: v4's shape with schema_version 5.0 and the checkout_step page type."
|
|
7262
|
+
},
|
|
7263
|
+
{
|
|
7264
|
+
"class": "skill",
|
|
7265
|
+
"path": "skills.json",
|
|
7266
|
+
"surface_entry": "skills.json",
|
|
7267
|
+
"summary": "Advance the bundle to 1.56.0+skills.1 and every bundled skill one patch."
|
|
7268
|
+
},
|
|
7269
|
+
{
|
|
7270
|
+
"class": "skill",
|
|
7271
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
7272
|
+
"surface_entry": null,
|
|
7273
|
+
"summary": "Name CampaignSpec 5.0 and the checkout_step page type; bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7274
|
+
},
|
|
7275
|
+
{
|
|
7276
|
+
"class": "skill",
|
|
7277
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
7278
|
+
"surface_entry": null,
|
|
7279
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7280
|
+
},
|
|
7281
|
+
{
|
|
7282
|
+
"class": "skill",
|
|
7283
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
7284
|
+
"surface_entry": null,
|
|
7285
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7286
|
+
},
|
|
7287
|
+
{
|
|
7288
|
+
"class": "skill",
|
|
7289
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
7290
|
+
"surface_entry": null,
|
|
7291
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7292
|
+
},
|
|
7293
|
+
{
|
|
7294
|
+
"class": "skill",
|
|
7295
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
7296
|
+
"surface_entry": null,
|
|
7297
|
+
"summary": "Describe the select-page handoff, step-form attributes and success_url on pages that feed a Checkout; bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7298
|
+
},
|
|
7299
|
+
{
|
|
7300
|
+
"class": "skill",
|
|
7301
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
7302
|
+
"surface_entry": null,
|
|
7303
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7304
|
+
},
|
|
7305
|
+
{
|
|
7306
|
+
"class": "skill",
|
|
7307
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
7308
|
+
"surface_entry": null,
|
|
7309
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7310
|
+
},
|
|
7311
|
+
{
|
|
7312
|
+
"class": "skill",
|
|
7313
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
7314
|
+
"surface_entry": null,
|
|
7315
|
+
"summary": "Bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7316
|
+
},
|
|
7317
|
+
{
|
|
7318
|
+
"class": "skill",
|
|
7319
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
7320
|
+
"surface_entry": null,
|
|
7321
|
+
"summary": "Describe multi-step test orders on the Checkout of the tested path; bump the skill one patch and state bundle 1.56.0+skills.1."
|
|
7322
|
+
},
|
|
7323
|
+
{
|
|
7324
|
+
"class": "cli_surface",
|
|
7325
|
+
"path": "src/cli.mjs",
|
|
7326
|
+
"surface_entry": null,
|
|
7327
|
+
"summary": "Rewrite the build prompt's select-page handoff and step-form rules, and read order bumps from the Checkout's whole path for the bump QA command."
|
|
7328
|
+
},
|
|
7329
|
+
{
|
|
7330
|
+
"class": "cli_surface",
|
|
7331
|
+
"path": "src/doctor/checks.mjs",
|
|
7332
|
+
"surface_entry": "doctor",
|
|
7333
|
+
"summary": "Read spec pages in the v5 vocabulary and treat select and checkout_step pages as checkout-flow pages for payment-method residue, bump pricing, package refs and exit-pop governance."
|
|
7334
|
+
}
|
|
7335
|
+
],
|
|
7336
|
+
"entry_sha256": "1e056ff9b882639e2a41e83a093c0b6782ad73f4b26d3b56a880b6ece242cc3b"
|
|
7337
|
+
},
|
|
7338
|
+
{
|
|
7339
|
+
"id": "RL-0256",
|
|
7340
|
+
"sequence": 245,
|
|
7341
|
+
"date": "2026-10-08",
|
|
7342
|
+
"kind": "release",
|
|
7343
|
+
"surface_version": null,
|
|
7344
|
+
"changelog_section": "1.56.0+agent.1",
|
|
7345
|
+
"changelog_sha256": "0036ff20d1b11d5a03950a9d4b7025cde2790346066ea021150b3b5223b0357b",
|
|
7346
|
+
"agent_impact": "Use campaigns-os --version or campaigns-os -v to read the installed package version without campaign runtime writes. Progress snapshots and remit records under .campaign-runtime/progress/ are ignored by Git in new and existing managed blocks.",
|
|
7347
|
+
"compatibility": "additive",
|
|
7348
|
+
"migration": "In an older target, run one of campaigns-os start, prepare-build, install-agent-context or run start to add the progress ignore rule. Snapshots already committed stay tracked until removed with git rm -r --cached .campaign-runtime/progress/.",
|
|
7349
|
+
"changes": [
|
|
7350
|
+
{
|
|
7351
|
+
"class": "named_surface",
|
|
7352
|
+
"path": "docs/build-packet.md",
|
|
7353
|
+
"surface_entry": "docs/build-packet.md",
|
|
7354
|
+
"summary": "List .campaign-runtime/progress/ among the ignored runtime paths and say an existing managed block gains the required entries."
|
|
7355
|
+
},
|
|
7356
|
+
{
|
|
7357
|
+
"class": "cli_surface",
|
|
7358
|
+
"path": "src/cli.mjs",
|
|
7359
|
+
"surface_entry": null,
|
|
7360
|
+
"summary": "Add global --version and -v flags that print the package version before invocation policy can read or write campaign state."
|
|
7361
|
+
}
|
|
7362
|
+
],
|
|
7363
|
+
"entry_sha256": "71db6099ccea2fd9ca9d0368ac0287982a60e6bc18524d8e0aca759bf4a28e5f"
|
|
7364
|
+
},
|
|
7365
|
+
{
|
|
7366
|
+
"id": "RL-0257",
|
|
7367
|
+
"sequence": 246,
|
|
7368
|
+
"date": "2026-10-08",
|
|
7369
|
+
"kind": "release",
|
|
7370
|
+
"surface_version": null,
|
|
7371
|
+
"changelog_section": "1.56.0+agent.2",
|
|
7372
|
+
"changelog_sha256": "5ae05e852378438784c651aace551c3ec25285fcb7ce03e85409a96aa944a5b9",
|
|
7373
|
+
"agent_impact": "An all-template hosted preview distinct from production by origin or QA-resolved campaign route path can carry missing Polish and page-load evidence as warnings. With an unset, loopback or production-equivalent preview URL, use qa policy set --preview-url; with a valid preview, use browser and typed-card QA. The recorded preview satisfies deploy, and next reaches closeout after current-build QA. Production QA and hosted design-route capture failures remain blocked. Refresh bundled skills to 1.56.0+skills.2.",
|
|
7374
|
+
"compatibility": "additive",
|
|
7375
|
+
"migration": "Use campaigns-os qa policy set --packet <packet> --preview-url <url> if the hosted preview URL is unset, loopback or production-equivalent, then campaigns-os next qa --packet <packet> and campaigns-os qa run --packet <packet> --base-url <preview-url> --browser --test-order common. Run next after QA for closeout. Refresh bundled skills.",
|
|
7376
|
+
"changes": [
|
|
7377
|
+
{
|
|
7378
|
+
"class": "named_surface",
|
|
7379
|
+
"path": "docs/build-packet.md",
|
|
7380
|
+
"surface_entry": "docs/build-packet.md",
|
|
7381
|
+
"summary": "Document browser and typed-card hosted-preview QA, the preview-only deploy handoff and the local-only deploy recorder."
|
|
7382
|
+
},
|
|
7383
|
+
{
|
|
7384
|
+
"class": "named_surface",
|
|
7385
|
+
"path": "docs/qa-and-test-orders.md",
|
|
7386
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
7387
|
+
"summary": "Document the hosted preview URL condition, current-build QA command and closeout after the deploy handoff."
|
|
7388
|
+
},
|
|
7389
|
+
{
|
|
7390
|
+
"class": "skill",
|
|
7391
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
7392
|
+
"surface_entry": null,
|
|
7393
|
+
"summary": "Name the full hosted preview condition, browser QA command and closeout for all-template campaigns."
|
|
7394
|
+
},
|
|
7395
|
+
{
|
|
7396
|
+
"class": "cli_surface",
|
|
7397
|
+
"path": "src/cli.mjs",
|
|
7398
|
+
"surface_entry": null,
|
|
7399
|
+
"summary": "Send the all-template hosted preview through browser QA to closeout without a hosted deploy record."
|
|
7400
|
+
},
|
|
7401
|
+
{
|
|
7402
|
+
"class": "cli_surface",
|
|
7403
|
+
"path": "src/doctor/next-step.mjs",
|
|
7404
|
+
"surface_entry": "doctor",
|
|
7405
|
+
"summary": "Treat the carried hosted preview as satisfying deploy and name preview policy setup when production is recorded."
|
|
7406
|
+
},
|
|
7407
|
+
{
|
|
7408
|
+
"class": "named_surface",
|
|
7409
|
+
"path": "docs/skills-revision.md",
|
|
7410
|
+
"surface_entry": "docs/skills-revision.md",
|
|
7411
|
+
"summary": "Show the current 1.56.0+skills.2 bundle identity in preflight examples."
|
|
7412
|
+
},
|
|
7413
|
+
{
|
|
7414
|
+
"class": "skill",
|
|
7415
|
+
"path": "skills.json",
|
|
7416
|
+
"surface_entry": null,
|
|
7417
|
+
"summary": "Advance the bundled skill identity to 1.56.0+skills.2 and match each skill version."
|
|
7418
|
+
},
|
|
7419
|
+
{
|
|
7420
|
+
"class": "skill",
|
|
7421
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
7422
|
+
"surface_entry": null,
|
|
7423
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7424
|
+
},
|
|
7425
|
+
{
|
|
7426
|
+
"class": "skill",
|
|
7427
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
7428
|
+
"surface_entry": null,
|
|
7429
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7430
|
+
},
|
|
7431
|
+
{
|
|
7432
|
+
"class": "skill",
|
|
7433
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
7434
|
+
"surface_entry": null,
|
|
7435
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7436
|
+
},
|
|
7437
|
+
{
|
|
7438
|
+
"class": "skill",
|
|
7439
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
7440
|
+
"surface_entry": null,
|
|
7441
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7442
|
+
},
|
|
7443
|
+
{
|
|
7444
|
+
"class": "skill",
|
|
7445
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
7446
|
+
"surface_entry": null,
|
|
7447
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7448
|
+
},
|
|
7449
|
+
{
|
|
7450
|
+
"class": "skill",
|
|
7451
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
7452
|
+
"surface_entry": null,
|
|
7453
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7454
|
+
},
|
|
7455
|
+
{
|
|
7456
|
+
"class": "skill",
|
|
7457
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
7458
|
+
"surface_entry": null,
|
|
7459
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7460
|
+
},
|
|
7461
|
+
{
|
|
7462
|
+
"class": "skill",
|
|
7463
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
7464
|
+
"surface_entry": null,
|
|
7465
|
+
"summary": "Advance the skill version and stamp bundle 1.56.0+skills.2."
|
|
7466
|
+
}
|
|
7467
|
+
],
|
|
7468
|
+
"entry_sha256": "24dbf5e7dc455f8f7bcdc444105ed43d0b353f2ffce5d89033a0fb03e54b02ea"
|
|
7469
|
+
},
|
|
7470
|
+
{
|
|
7471
|
+
"id": "RL-0258",
|
|
7472
|
+
"sequence": 247,
|
|
7473
|
+
"date": "2026-10-08",
|
|
7474
|
+
"kind": "release",
|
|
7475
|
+
"surface_version": null,
|
|
7476
|
+
"changelog_section": "1.56.0+agent.3",
|
|
7477
|
+
"changelog_sha256": "9eb8d0c67d414b8cea957cc5dbb83e3993564f822408c581538eccdfba575860",
|
|
7478
|
+
"agent_impact": "For an entry routed to the campaign root by any supported spelling, inspect doctor's unserved-root warning and use the serving Entry URL printed by qa resolve. Repair the root with a redirect or permalink: /<slug>/ before relying on the Map route.",
|
|
7479
|
+
"compatibility": "compatible",
|
|
7480
|
+
"migration": "none",
|
|
7481
|
+
"changes": [
|
|
7482
|
+
{
|
|
7483
|
+
"class": "cli_surface",
|
|
7484
|
+
"path": "src/doctor/checks.mjs",
|
|
7485
|
+
"surface_entry": "doctor",
|
|
7486
|
+
"summary": "Recognize all root-routed entry spellings, prefer the entry source permalink or page ID file route, and warn when a non-root route leaves the root unserved."
|
|
7487
|
+
},
|
|
7488
|
+
{
|
|
7489
|
+
"class": "named_surface",
|
|
7490
|
+
"path": "docs/build-packet.md",
|
|
7491
|
+
"surface_entry": "docs/build-packet.md",
|
|
7492
|
+
"summary": "Document all root entry spellings, the entry file-route fallback, and the concrete root permalink repair."
|
|
7493
|
+
},
|
|
7494
|
+
{
|
|
7495
|
+
"class": "named_surface",
|
|
7496
|
+
"path": "docs/qa-and-test-orders.md",
|
|
7497
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
7498
|
+
"summary": "Document all root entry spellings and when qa resolve prints a serving entry route."
|
|
7499
|
+
}
|
|
7500
|
+
],
|
|
7501
|
+
"entry_sha256": "ad7106aff83139e4b650285eb8db79fb96ac672f6d3a898efef5d9df7ea30014"
|
|
7502
|
+
},
|
|
7503
|
+
{
|
|
7504
|
+
"id": "RL-0260",
|
|
7505
|
+
"sequence": 248,
|
|
7506
|
+
"date": "2026-10-08",
|
|
7507
|
+
"kind": "release",
|
|
7508
|
+
"surface_version": null,
|
|
7509
|
+
"changelog_section": "1.56.0+agent.5",
|
|
7510
|
+
"changelog_sha256": "c1d3429f82de8fe191d63f6a32fb21a05a10664b9a17357d00622de74926f521",
|
|
7511
|
+
"agent_impact": "Doctor follows CampaignSpec route targets and warns once per checkout path when a variant and quantity matrix does not fit the selected family's checkout surface. If any checkout path has steps, every warning ranks multi-step families first. The warning lists matching families in ranked order and says to choose with --template-family at intake; after stage evidence, changing the family requires destructive intake with --force.",
|
|
7512
|
+
"compatibility": "additive",
|
|
7513
|
+
"migration": "none",
|
|
7514
|
+
"changes": [
|
|
7515
|
+
{
|
|
7516
|
+
"class": "cli_surface",
|
|
7517
|
+
"path": "src/doctor/checks.mjs",
|
|
7518
|
+
"surface_entry": "doctor",
|
|
7519
|
+
"summary": "Warn once per CampaignSpec checkout path about a variant and quantity matrix that needs variant slots, rank matching families by campaign-wide step shape, and name the intake family decision and --force requirement after stage evidence."
|
|
7520
|
+
}
|
|
7521
|
+
],
|
|
7522
|
+
"entry_sha256": "afef05c6ecc77f432e4c7393cee7e1e7233ebf58a5fc68e94b442b167f869552"
|
|
7523
|
+
},
|
|
7524
|
+
{
|
|
7525
|
+
"id": "RL-0259",
|
|
7526
|
+
"sequence": 249,
|
|
7527
|
+
"date": "2026-10-08",
|
|
7528
|
+
"kind": "release",
|
|
7529
|
+
"surface_version": null,
|
|
7530
|
+
"changelog_section": "1.56.0+agent.6",
|
|
7531
|
+
"changelog_sha256": "ba8ba08f8e62f4145c69e2d9fa3dc13b8bcaf060e3aca27de09eb229692479de",
|
|
7532
|
+
"agent_impact": "Resolve Build Packet input fields from the packet directory, output fields from the target repository, source page fields from the source root, Page Kit target_path from the Page Kit output directory, Design Source Package references in context and report from each artifact's directory, and normalized brief _meta.input_path from the brief directory. Resolve other committed sidecar paths and run retained commands from the target repository root. Keep outside inputs at their recorded relative locations.",
|
|
7533
|
+
"compatibility": "compatible",
|
|
7534
|
+
"migration": "none",
|
|
7535
|
+
"changes": [
|
|
7536
|
+
{
|
|
7537
|
+
"class": "named_surface",
|
|
7538
|
+
"path": "docs/build-packet.md",
|
|
7539
|
+
"surface_entry": "docs/build-packet.md",
|
|
7540
|
+
"summary": "Document each handoff path's reader base, ordinary relative outside inputs, and the working directory for retained commands."
|
|
7541
|
+
},
|
|
7542
|
+
{
|
|
7543
|
+
"class": "cli_surface",
|
|
7544
|
+
"path": "src/cli.mjs",
|
|
7545
|
+
"surface_entry": null,
|
|
7546
|
+
"summary": "Persist QA stage output paths relative to the target, pass the target root to doctor sidecar writes, and resolve report-linked QA verdicts from that root."
|
|
7547
|
+
},
|
|
7548
|
+
{
|
|
7549
|
+
"class": "cli_surface",
|
|
7550
|
+
"path": "src/doctor/inspect.mjs",
|
|
7551
|
+
"surface_entry": "doctor",
|
|
7552
|
+
"summary": "Record the doctor stage output path relative to the target repository."
|
|
7553
|
+
}
|
|
7554
|
+
],
|
|
7555
|
+
"entry_sha256": "e7ae9649535a08f6ecde1bd8b6f9939b3c2fb328b1731dd8ee4702a56437d837"
|
|
7556
|
+
},
|
|
7557
|
+
{
|
|
7558
|
+
"id": "RL-0261",
|
|
7559
|
+
"sequence": 250,
|
|
7560
|
+
"date": "2026-10-08",
|
|
7561
|
+
"kind": "release",
|
|
7562
|
+
"surface_version": "1.57.0",
|
|
7563
|
+
"changelog_section": "1.57.0",
|
|
7564
|
+
"changelog_sha256": "709a7bf801ee49cb105fb989e1ac01fb0be4177d7c959752386a98651d1d5457",
|
|
7565
|
+
"agent_impact": "The 1.57.0 package publishes the untagged 1.56.0 CampaignSpec 5.0 release and its five same-surface follow-ups. Consumers gain checkout-step build and QA contracts, hosted-preview evidence carry-forward, entry-route resolution, variant-family warnings, and repository-relative committed paths; refresh the bundled skills to 1.57.0+skills.1.",
|
|
7566
|
+
"compatibility": "breaking",
|
|
7567
|
+
"migration": "From the last published 1.55.0, validate 5.0 specs with schemas/campaign-spec.v5.schema.json (4.2/4.3 keep the v4 schema), accept success_url and step_number in page_kit.frontmatter, find the payment Checkout on each path, and repair specs rejected by the four new rules. Update the pinned package and bundled skills together.",
|
|
7568
|
+
"changes": [
|
|
7569
|
+
{
|
|
7570
|
+
"class": "compatibility_policy",
|
|
7571
|
+
"path": "compatibility.json",
|
|
7572
|
+
"surface_entry": "compatibility.json",
|
|
7573
|
+
"summary": "Name 1.57.0 as the published package version."
|
|
7574
|
+
},
|
|
7575
|
+
{
|
|
7576
|
+
"class": "compatibility_policy",
|
|
7577
|
+
"path": "contracts/supported-surface.json",
|
|
7578
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
7579
|
+
"summary": "Advance surface_version to 1.57.0 for the package release."
|
|
7580
|
+
},
|
|
7581
|
+
{
|
|
7582
|
+
"class": "named_surface",
|
|
7583
|
+
"path": "docs/local-setup.md",
|
|
7584
|
+
"surface_entry": "docs/local-setup.md",
|
|
7585
|
+
"summary": "Pin the documented toolkit install to 1.57.0."
|
|
7586
|
+
},
|
|
7587
|
+
{
|
|
7588
|
+
"class": "documentation",
|
|
7589
|
+
"path": "docs/orientation-contract-reference.md",
|
|
7590
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
7591
|
+
"summary": "Regenerate the orientation reference at surface 1.57.0."
|
|
7592
|
+
},
|
|
7593
|
+
{
|
|
7594
|
+
"class": "named_surface",
|
|
7595
|
+
"path": "docs/runtime-readiness.md",
|
|
7596
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
7597
|
+
"summary": "Regenerate runtime readiness at surface 1.57.0."
|
|
7598
|
+
},
|
|
7599
|
+
{
|
|
7600
|
+
"class": "named_surface",
|
|
7601
|
+
"path": "docs/skills-revision.md",
|
|
7602
|
+
"surface_entry": "docs/skills-revision.md",
|
|
7603
|
+
"summary": "Show the current 1.57.0+skills.1 bundle identity in preflight examples."
|
|
7604
|
+
},
|
|
7605
|
+
{
|
|
7606
|
+
"class": "generated_runtime",
|
|
7607
|
+
"path": "package-lock.json",
|
|
7608
|
+
"surface_entry": null,
|
|
7609
|
+
"summary": "Advance both package version stamps to 1.57.0."
|
|
7610
|
+
},
|
|
7611
|
+
{
|
|
7612
|
+
"class": "package_export",
|
|
7613
|
+
"path": "package.json",
|
|
7614
|
+
"surface_entry": null,
|
|
7615
|
+
"summary": "Advance the package version to 1.57.0."
|
|
7616
|
+
},
|
|
7617
|
+
{
|
|
7618
|
+
"class": "skill",
|
|
7619
|
+
"path": "skills.json",
|
|
7620
|
+
"surface_entry": "skills.json",
|
|
7621
|
+
"summary": "Advance the bundle to 1.57.0+skills.1 and each bundled skill by one patch."
|
|
7622
|
+
},
|
|
7623
|
+
{
|
|
7624
|
+
"class": "skill",
|
|
7625
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
7626
|
+
"surface_entry": null,
|
|
7627
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7628
|
+
},
|
|
7629
|
+
{
|
|
7630
|
+
"class": "skill",
|
|
7631
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
7632
|
+
"surface_entry": null,
|
|
7633
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7634
|
+
},
|
|
7635
|
+
{
|
|
7636
|
+
"class": "skill",
|
|
7637
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
7638
|
+
"surface_entry": null,
|
|
7639
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7640
|
+
},
|
|
7641
|
+
{
|
|
7642
|
+
"class": "skill",
|
|
7643
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
7644
|
+
"surface_entry": null,
|
|
7645
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7646
|
+
},
|
|
7647
|
+
{
|
|
7648
|
+
"class": "skill",
|
|
7649
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
7650
|
+
"surface_entry": null,
|
|
7651
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7652
|
+
},
|
|
7653
|
+
{
|
|
7654
|
+
"class": "skill",
|
|
7655
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
7656
|
+
"surface_entry": null,
|
|
7657
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7658
|
+
},
|
|
7659
|
+
{
|
|
7660
|
+
"class": "skill",
|
|
7661
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
7662
|
+
"surface_entry": null,
|
|
7663
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7664
|
+
},
|
|
7665
|
+
{
|
|
7666
|
+
"class": "skill",
|
|
7667
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
7668
|
+
"surface_entry": null,
|
|
7669
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7670
|
+
},
|
|
7671
|
+
{
|
|
7672
|
+
"class": "skill",
|
|
7673
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
7674
|
+
"surface_entry": null,
|
|
7675
|
+
"summary": "Bump the skill one patch and stamp bundle 1.57.0+skills.1."
|
|
7676
|
+
}
|
|
7677
|
+
],
|
|
7678
|
+
"entry_sha256": "00e7dc8146ae7c1e860f2496ade44d5f4e98f3f25120d1a313021e5ff5d28e7c"
|
|
6533
7679
|
}
|
|
6534
7680
|
]
|
|
6535
7681
|
}
|