@nextcommerce/campaigns-os 1.60.0 → 1.62.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/AGENTS.md +2 -1
- package/CHANGELOG.md +244 -0
- package/README.md +86 -438
- package/agents/claude/CLAUDE.md +20 -0
- package/agents/codex/AGENTS.md +19 -0
- package/agents/copilot/copilot-instructions.md +19 -0
- package/agents/cursor/campaigns-os.mdc +21 -0
- package/campaign-spec/README.md +7 -0
- package/campaign-spec/dist/analytics-vendors.d.ts +40 -0
- package/campaign-spec/dist/analytics-vendors.js +44 -0
- package/campaign-spec/dist/checkout-flow.d.ts +18 -0
- package/campaign-spec/dist/checkout-flow.js +28 -0
- package/campaign-spec/dist/index.d.ts +4 -2
- package/campaign-spec/dist/index.js +5 -1
- package/campaign-spec/dist/rules/analytics-contract-shape.d.ts +8 -0
- package/campaign-spec/dist/rules/analytics-contract-shape.js +39 -0
- package/campaign-spec/dist/rules/campaign-currencies.d.ts +29 -0
- package/campaign-spec/dist/rules/campaign-currencies.js +130 -0
- package/campaign-spec/dist/rules/checkout-path-has-packages.d.ts +31 -0
- package/campaign-spec/dist/rules/checkout-path-has-packages.js +79 -0
- package/campaign-spec/dist/rules/index.d.ts +2 -0
- package/campaign-spec/dist/rules/index.js +6 -0
- package/campaign-spec/dist/types.d.ts +43 -9
- package/compatibility.json +1 -1
- package/contracts/brand-theme-target-tokens.next-core.v0.json +95 -25
- package/contracts/campaign-cart-sdk-support-policy.v0.json +2 -2
- package/contracts/commerce-surface-catalog.json +68 -61
- package/contracts/effects.v1.json +549 -165
- package/contracts/fixtures/runtime-recipe/accept/current.json +3 -0
- package/contracts/fixtures/runtime-recipe/accept/minimal.json +3 -0
- package/contracts/fixtures/runtime-recipe/dist-states.json +1 -1
- package/contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/committed-output-claim.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-kind.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-output-check.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-revision.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-step-id.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json +3 -0
- package/contracts/release-ledger.json +1767 -0
- package/contracts/runtime-recipe.campaigns-os-node-v1.json +3 -0
- package/contracts/supported-surface.json +10 -10
- package/contracts/template-brand-contract.shared-commerce.v0.json +23 -1
- package/docs/access-model.md +20 -0
- package/docs/brand-theme-bridge.md +62 -3
- package/docs/build-packet.md +456 -36
- package/docs/campaign-build-brief.md +16 -0
- package/docs/campaign-standardization-report.md +4 -4
- package/docs/campaigns-os-build-flow.md +112 -2
- package/docs/campaignspec-authoring-examples.md +141 -0
- package/docs/design-source-package.md +64 -8
- package/docs/effects.md +17 -9
- package/docs/entry-points.md +188 -0
- package/docs/local-setup.md +1 -1
- package/docs/orientation-contract-reference.md +1 -1
- package/docs/polish-evidence.md +42 -2
- package/docs/progress-snapshots.md +7 -4
- package/docs/qa-and-test-orders.md +197 -3
- package/docs/quickstart.md +438 -0
- package/docs/readback.md +154 -6
- package/docs/runtime-readiness.md +6 -3
- package/docs/sdk-storage-compatibility.md +4 -2
- package/docs/skills-revision.md +10 -10
- package/docs/source-adapters.md +213 -0
- package/package.json +10 -3
- package/schemas/campaign-design-source-package.v0.schema.json +8 -0
- package/schemas/campaign-runtime-build-context.v0.schema.json +9 -0
- package/schemas/campaign-runtime-build-packet.v0.schema.json +9 -0
- package/schemas/campaign-spec.v4.schema.json +19 -3
- package/schemas/campaign-spec.v5.schema.json +19 -3
- package/schemas/campaigns-os-readback.v2.schema.json +238 -1
- package/schemas/source-html-manifest.v0.schema.json +3 -0
- package/skills/campaign-lifecycle-orientation/SKILL.md +3 -3
- 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 +5 -4
- package/skills/next-campaigns-os/SKILL.md +7 -4
- package/skills/next-campaigns-os-setup/SKILL.md +5 -3
- package/skills/next-campaigns-polish/SKILL.md +8 -10
- package/skills/next-campaigns-qa/SKILL.md +7 -4
- package/skills/next-campaigns-sdk-bump/SKILL.md +151 -25
- package/skills.json +11 -11
- package/src/brand-theme.mjs +415 -9
- package/src/brief-summary.mjs +6 -2
- package/src/browser-launch.mjs +2 -1
- package/src/build-brief.mjs +13 -3
- package/src/built-site-scope.mjs +2 -2
- package/src/campaign-workspace.mjs +288 -15
- package/src/change-scope.mjs +284 -0
- package/src/cli.mjs +358 -97
- package/src/commercial-journey.mjs +16 -3
- package/src/commercial-parity.mjs +15 -7
- package/src/content-residue.mjs +4 -2
- package/src/design-file-reference.mjs +93 -0
- package/src/design-source-package.mjs +91 -1
- package/src/design-source-publication.mjs +9 -6
- package/src/directory-lock.mjs +73 -19
- package/src/doctor/checks.mjs +87 -81
- package/src/doctor/ci.mjs +177 -0
- package/src/doctor/inspect.mjs +41 -6
- package/src/doctor/next-step.mjs +7 -0
- package/src/doctor/source-provenance.mjs +74 -0
- package/src/doctor-sidecar.mjs +3 -2
- package/src/evidence-debt.mjs +159 -0
- package/src/finding-cause.mjs +12 -11
- package/src/input-refresh.mjs +339 -32
- package/src/invocation.mjs +7 -1
- package/src/live-campaign-refs.mjs +7 -2
- package/src/local-preview-policy.mjs +35 -2
- package/src/page-kit-analytics-vendors.mjs +132 -0
- package/src/parity/compare.mjs +316 -0
- package/src/parity/design-access.mjs +54 -0
- package/src/parity/element-parity-record.mjs +569 -0
- package/src/parity/probe.mjs +205 -0
- package/src/parity/snapshot.mjs +110 -0
- package/src/png-header.mjs +87 -0
- package/src/polish-browser.mjs +189 -10
- package/src/polish-captures-record.mjs +52 -0
- package/src/polish-deadline.mjs +14 -0
- package/src/polish-gate.mjs +25 -6
- package/src/polish-node.mjs +81 -7
- package/src/polish-readability.mjs +221 -9
- package/src/polish-visual-fixtures.mjs +74 -0
- package/src/polish-visual.mjs +613 -0
- package/src/progress-node.mjs +3 -2
- package/src/qa-analytics-correctness.mjs +14 -2
- package/src/qa-analytics-parity.mjs +111 -6
- package/src/qa-browser.mjs +40 -4
- package/src/qa-commercial-parity.mjs +50 -3
- package/src/qa-node.mjs +235 -22
- package/src/qa-publish.mjs +9 -8
- package/src/qa-sidecar.mjs +16 -4
- package/src/qa-vendor-beacons.mjs +232 -0
- package/src/qa-vendor-endpoints.mjs +306 -0
- package/src/qc-accept.mjs +176 -6
- package/src/qc-check-registry.mjs +42 -2
- package/src/qc-results.mjs +477 -42
- package/src/readback.mjs +113 -21
- package/src/route-identity.mjs +10 -0
- package/src/run-record.mjs +18 -10
- package/src/runtime-state-ignore.mjs +6 -2
- package/src/sdk-attribute-index.mjs +11 -11
- package/src/sdk-markup.mjs +77 -2
- package/src/sdk-storage-compatibility.mjs +115 -6
- package/src/source-html-intake.mjs +15 -1
- package/src/source-html-manifest.mjs +7 -0
- package/src/source-html-server.mjs +129 -0
- package/src/spec-derive-campaign.mjs +216 -0
- package/src/spec-derive.mjs +473 -53
- package/src/spec-identity.mjs +14 -0
- package/src/stage-ledger.mjs +40 -1
- package/src/stage-record.mjs +100 -17
- package/src/target-lock.mjs +11 -1
- package/src/theme-gate.mjs +2 -2
- package/src/visual-diff.mjs +296 -0
- package/src/visual-reference.mjs +126 -0
|
@@ -8651,6 +8651,1773 @@
|
|
|
8651
8651
|
}
|
|
8652
8652
|
],
|
|
8653
8653
|
"entry_sha256": "25d3db88fb7e0259e9b3a4b91244cf504d0bd99bfc815ab60393b3982927564f"
|
|
8654
|
+
},
|
|
8655
|
+
{
|
|
8656
|
+
"id": "RL-0280",
|
|
8657
|
+
"sequence": 268,
|
|
8658
|
+
"date": "2026-10-20",
|
|
8659
|
+
"kind": "release",
|
|
8660
|
+
"surface_version": null,
|
|
8661
|
+
"changelog_section": "1.60.0+agent.1",
|
|
8662
|
+
"changelog_sha256": "d83b499fd21495ba4520b374856b9b3693c5040ec85c3b60e5669ec6c9038456",
|
|
8663
|
+
"agent_impact": "qa run --site with --base-url set to the site origin and --slug <slug> now loads pages under /<slug>/ instead of the origin root. Passing the origin or the campaign root both work; a workaround that put the slug in --base-url keeps working unchanged.",
|
|
8664
|
+
"compatibility": "compatible",
|
|
8665
|
+
"migration": "none",
|
|
8666
|
+
"changes": [
|
|
8667
|
+
{
|
|
8668
|
+
"class": "named_surface",
|
|
8669
|
+
"path": "docs/qa-and-test-orders.md",
|
|
8670
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
8671
|
+
"summary": "Say that qa run --site accepts the site origin or the campaign root as --base-url."
|
|
8672
|
+
}
|
|
8673
|
+
],
|
|
8674
|
+
"entry_sha256": "6fd5e26ac8593f53e2037590e19dc4bc8e0327e0c162c6919542773ba96fcd8b"
|
|
8675
|
+
},
|
|
8676
|
+
{
|
|
8677
|
+
"id": "RL-0281",
|
|
8678
|
+
"sequence": 269,
|
|
8679
|
+
"date": "2026-10-21",
|
|
8680
|
+
"kind": "release",
|
|
8681
|
+
"surface_version": null,
|
|
8682
|
+
"changelog_section": "1.60.0+agent.3",
|
|
8683
|
+
"changelog_sha256": "961b0a16ed510921583ca73e05a37ea0eb0dd235dfacab69627ce295e5de532c",
|
|
8684
|
+
"agent_impact": "Doctor may now warn built_output.sdk_markup.page_type_attribute (data-next-page-type with no next-page-type meta) or built_output.sdk_markup.upsell_page_type_missing (a data-next-upsell offer page whose next-page-type meta is not upsell). Fix either by adding <meta name=\"next-page-type\" content=\"<type>\">, with upsell on upsell offer pages. tooling status now names the harnesses a partial skills refresh is for; a refresh named for another harness is not this session's step.",
|
|
8685
|
+
"compatibility": "additive",
|
|
8686
|
+
"migration": "none",
|
|
8687
|
+
"changes": [
|
|
8688
|
+
{
|
|
8689
|
+
"class": "named_surface",
|
|
8690
|
+
"path": "docs/build-packet.md",
|
|
8691
|
+
"surface_entry": "docs/build-packet.md",
|
|
8692
|
+
"summary": "List the PAGE_TYPE_ATTRIBUTE and UPSELL_PAGE_TYPE_MISSING SDK markup warnings and what silences each."
|
|
8693
|
+
},
|
|
8694
|
+
{
|
|
8695
|
+
"class": "named_surface",
|
|
8696
|
+
"path": "docs/campaigns-os-build-flow.md",
|
|
8697
|
+
"surface_entry": "docs/campaigns-os-build-flow.md",
|
|
8698
|
+
"summary": "Name the next-page-type meta rule and the two new SDK markup warning codes."
|
|
8699
|
+
},
|
|
8700
|
+
{
|
|
8701
|
+
"class": "cli_surface",
|
|
8702
|
+
"path": "src/cli.mjs",
|
|
8703
|
+
"surface_entry": null,
|
|
8704
|
+
"summary": "tooling status names the harnesses a per-platform skills refresh is for."
|
|
8705
|
+
}
|
|
8706
|
+
],
|
|
8707
|
+
"entry_sha256": "b2b7c61bf3ba87e1d9f730f33a07335f74230b0ece0b94a0370d4de5af1e7859"
|
|
8708
|
+
},
|
|
8709
|
+
{
|
|
8710
|
+
"id": "RL-0282",
|
|
8711
|
+
"sequence": 270,
|
|
8712
|
+
"date": "2026-10-22",
|
|
8713
|
+
"kind": "release",
|
|
8714
|
+
"surface_version": null,
|
|
8715
|
+
"changelog_section": "1.60.0+agent.4",
|
|
8716
|
+
"changelog_sha256": "ca36481b49829528ff6a39bc926f7039836444064fac7bc30b9006169025404b",
|
|
8717
|
+
"agent_impact": "An agent running next-campaigns-sdk-bump reads per-slug live status from the target CLAUDE.md, asks when it is missing or unclear, and places test orders only on the live slugs and orders the developer confirms; names the analytics vendors before asking for test orders; pins the market with ?currency=<main>&country=<main> (not geolocation), confirms the shown market, and passes --currency <main> to qa run; places orders by hand for a non-US main market; never uses ?ignore=true; proves one fresh and five cached loads per SDK page, excluding the receipt and pages with hand-wired purchase pushes from the reloads; runs doctor --built once per bumped slug and qa run --site once per live slug with an exactly matching --family and --slug; covers payment methods the range adds; and asks before the first project-local install, committing its devDependencies change. Doctor now reports sdk_attribute_index_version 0.4.43 and checks cart placeholders on pages pinned to 0.4.43. Re-run tooling status --skills-revision 1.60.0+skills.2 and start a fresh session on mismatch.",
|
|
8718
|
+
"compatibility": "compatible",
|
|
8719
|
+
"migration": "none",
|
|
8720
|
+
"changes": [
|
|
8721
|
+
{
|
|
8722
|
+
"class": "skill",
|
|
8723
|
+
"path": "skills.json",
|
|
8724
|
+
"surface_entry": "skills.json",
|
|
8725
|
+
"summary": "Advance bundle revision to 1.60.0+skills.2 and each skill version one patch."
|
|
8726
|
+
},
|
|
8727
|
+
{
|
|
8728
|
+
"class": "skill",
|
|
8729
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
8730
|
+
"surface_entry": null,
|
|
8731
|
+
"summary": "Add funnel liveness, up-front runner gates, the --family source, the currency/country pin, analytics beacon handling, the 1 fresh + 5 cached reload bar, and the install pin commit."
|
|
8732
|
+
},
|
|
8733
|
+
{
|
|
8734
|
+
"class": "skill",
|
|
8735
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
8736
|
+
"surface_entry": null,
|
|
8737
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8738
|
+
},
|
|
8739
|
+
{
|
|
8740
|
+
"class": "skill",
|
|
8741
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
8742
|
+
"surface_entry": null,
|
|
8743
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8744
|
+
},
|
|
8745
|
+
{
|
|
8746
|
+
"class": "skill",
|
|
8747
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
8748
|
+
"surface_entry": null,
|
|
8749
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8750
|
+
},
|
|
8751
|
+
{
|
|
8752
|
+
"class": "skill",
|
|
8753
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
8754
|
+
"surface_entry": null,
|
|
8755
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8756
|
+
},
|
|
8757
|
+
{
|
|
8758
|
+
"class": "skill",
|
|
8759
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
8760
|
+
"surface_entry": null,
|
|
8761
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8762
|
+
},
|
|
8763
|
+
{
|
|
8764
|
+
"class": "skill",
|
|
8765
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
8766
|
+
"surface_entry": null,
|
|
8767
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8768
|
+
},
|
|
8769
|
+
{
|
|
8770
|
+
"class": "skill",
|
|
8771
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
8772
|
+
"surface_entry": null,
|
|
8773
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8774
|
+
},
|
|
8775
|
+
{
|
|
8776
|
+
"class": "skill",
|
|
8777
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
8778
|
+
"surface_entry": null,
|
|
8779
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8780
|
+
},
|
|
8781
|
+
{
|
|
8782
|
+
"class": "skill",
|
|
8783
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
8784
|
+
"surface_entry": null,
|
|
8785
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8786
|
+
},
|
|
8787
|
+
{
|
|
8788
|
+
"class": "named_surface",
|
|
8789
|
+
"path": "docs/skills-revision.md",
|
|
8790
|
+
"surface_entry": "docs/skills-revision.md",
|
|
8791
|
+
"summary": "Update current bundle revision examples to 1.60.0+skills.2."
|
|
8792
|
+
},
|
|
8793
|
+
{
|
|
8794
|
+
"class": "named_surface",
|
|
8795
|
+
"path": "docs/build-packet.md",
|
|
8796
|
+
"surface_entry": "docs/build-packet.md",
|
|
8797
|
+
"summary": "Name v0.4.43 as the vendored SDK attribute index tag."
|
|
8798
|
+
}
|
|
8799
|
+
],
|
|
8800
|
+
"entry_sha256": "4d3c9b7e4b2441d68a54e2e2197bcba437331ffd8f5acd2f0b952892c74ce7ab"
|
|
8801
|
+
},
|
|
8802
|
+
{
|
|
8803
|
+
"id": "RL-0283",
|
|
8804
|
+
"sequence": 271,
|
|
8805
|
+
"date": "2026-10-22",
|
|
8806
|
+
"kind": "release",
|
|
8807
|
+
"surface_version": null,
|
|
8808
|
+
"changelog_section": "1.60.0+agent.5",
|
|
8809
|
+
"changelog_sha256": "692548da2c57bc653684cc367f546188eee7104220c40ac2d72b6119399ec081",
|
|
8810
|
+
"agent_impact": "An agent running qa run test orders for a non-US market can pass --test-country, --test-address1, --test-city, --test-province and --test-postal (and --test-first-name, --test-last-name, --test-phone) as supported flags instead of ordering by hand; the defaults are unchanged (a US address). A non-USD --currency on an ordering run with no --test-country prints a warning and still runs. qa run --site takes --currency as packet QA does. next-campaigns-sdk-bump step 6 names the address flags, with ordering by hand as the fallback. Re-run tooling status --skills-revision 1.60.0+skills.3 and start a fresh session on mismatch.",
|
|
8811
|
+
"compatibility": "additive",
|
|
8812
|
+
"migration": "none",
|
|
8813
|
+
"changes": [
|
|
8814
|
+
{
|
|
8815
|
+
"class": "cli_surface",
|
|
8816
|
+
"path": "src/cli.mjs",
|
|
8817
|
+
"surface_entry": null,
|
|
8818
|
+
"summary": "The qa run usage line lists --test-email and the --test-country, --test-address1, --test-city, --test-province and --test-postal address flags."
|
|
8819
|
+
},
|
|
8820
|
+
{
|
|
8821
|
+
"class": "named_surface",
|
|
8822
|
+
"path": "docs/qa-and-test-orders.md",
|
|
8823
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
8824
|
+
"summary": "Document the test customer and shipping address flags with their defaults, the non-USD --currency warning, and qa run --site --currency."
|
|
8825
|
+
},
|
|
8826
|
+
{
|
|
8827
|
+
"class": "skill",
|
|
8828
|
+
"path": "skills.json",
|
|
8829
|
+
"surface_entry": "skills.json",
|
|
8830
|
+
"summary": "Advance bundle revision to 1.60.0+skills.3 and each skill version one patch."
|
|
8831
|
+
},
|
|
8832
|
+
{
|
|
8833
|
+
"class": "skill",
|
|
8834
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
8835
|
+
"surface_entry": null,
|
|
8836
|
+
"summary": "Step 6 names the --test-* address flags for non-US orders through the runner, keeping ordering by hand as the fallback."
|
|
8837
|
+
},
|
|
8838
|
+
{
|
|
8839
|
+
"class": "skill",
|
|
8840
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
8841
|
+
"surface_entry": null,
|
|
8842
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8843
|
+
},
|
|
8844
|
+
{
|
|
8845
|
+
"class": "skill",
|
|
8846
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
8847
|
+
"surface_entry": null,
|
|
8848
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8849
|
+
},
|
|
8850
|
+
{
|
|
8851
|
+
"class": "skill",
|
|
8852
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
8853
|
+
"surface_entry": null,
|
|
8854
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8855
|
+
},
|
|
8856
|
+
{
|
|
8857
|
+
"class": "skill",
|
|
8858
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
8859
|
+
"surface_entry": null,
|
|
8860
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8861
|
+
},
|
|
8862
|
+
{
|
|
8863
|
+
"class": "skill",
|
|
8864
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
8865
|
+
"surface_entry": null,
|
|
8866
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8867
|
+
},
|
|
8868
|
+
{
|
|
8869
|
+
"class": "skill",
|
|
8870
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
8871
|
+
"surface_entry": null,
|
|
8872
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8873
|
+
},
|
|
8874
|
+
{
|
|
8875
|
+
"class": "skill",
|
|
8876
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
8877
|
+
"surface_entry": null,
|
|
8878
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8879
|
+
},
|
|
8880
|
+
{
|
|
8881
|
+
"class": "skill",
|
|
8882
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
8883
|
+
"surface_entry": null,
|
|
8884
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8885
|
+
},
|
|
8886
|
+
{
|
|
8887
|
+
"class": "skill",
|
|
8888
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
8889
|
+
"surface_entry": null,
|
|
8890
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
8891
|
+
},
|
|
8892
|
+
{
|
|
8893
|
+
"class": "named_surface",
|
|
8894
|
+
"path": "docs/skills-revision.md",
|
|
8895
|
+
"surface_entry": "docs/skills-revision.md",
|
|
8896
|
+
"summary": "Update current bundle revision examples to 1.60.0+skills.3."
|
|
8897
|
+
}
|
|
8898
|
+
],
|
|
8899
|
+
"entry_sha256": "76a1640cd613f80731dafcb8c44efe421026bdd3f79ca28bab19c538193307ae"
|
|
8900
|
+
},
|
|
8901
|
+
{
|
|
8902
|
+
"id": "RL-0284",
|
|
8903
|
+
"sequence": 272,
|
|
8904
|
+
"date": "2026-10-22",
|
|
8905
|
+
"kind": "release",
|
|
8906
|
+
"surface_version": null,
|
|
8907
|
+
"changelog_section": "1.60.0+agent.6",
|
|
8908
|
+
"changelog_sha256": "a03817e639651688a5f17db7e826eaac34bef5002b51a50abd8f5cb31a0e9a4a",
|
|
8909
|
+
"agent_impact": "An agent reading sdk storage-check output for a target outside the manifest range sees the covered range and the uncovered target in the first line and the count line, and in --json reads targetCovered:false; result and exit status (unknown, 2) are unchanged. Unknown lines inside a prefix loop over a scoped SDK key end in [prefix loop: <prefix>] and carry prefixScan in --json; they remain unknown and are explained by one note under the findings.",
|
|
8910
|
+
"compatibility": "additive",
|
|
8911
|
+
"migration": "none",
|
|
8912
|
+
"changes": [
|
|
8913
|
+
{
|
|
8914
|
+
"class": "named_surface",
|
|
8915
|
+
"path": "docs/sdk-storage-compatibility.md",
|
|
8916
|
+
"surface_entry": "docs/sdk-storage-compatibility.md",
|
|
8917
|
+
"summary": "Describe the out-of-range header, targetCovered, and the [prefix loop] hint with its prefixScan field."
|
|
8918
|
+
}
|
|
8919
|
+
],
|
|
8920
|
+
"entry_sha256": "0105b7be6bdbdc6e0f8e5a9b2b2a4b5ad3106e9bc7db72029c0cae05d8372fd1"
|
|
8921
|
+
},
|
|
8922
|
+
{
|
|
8923
|
+
"id": "RL-0285",
|
|
8924
|
+
"sequence": 273,
|
|
8925
|
+
"date": "2026-10-22",
|
|
8926
|
+
"kind": "release",
|
|
8927
|
+
"surface_version": null,
|
|
8928
|
+
"changelog_section": "1.60.0+agent.7",
|
|
8929
|
+
"changelog_sha256": "7096f90073a3bacfa53548a266f0a496d2ecacd4a7de0b92b1b6304cf3fcf80d",
|
|
8930
|
+
"agent_impact": "Installed users can continue from the Build Packet into the existing source-intake and CampaignSpec v5 authoring guidance without a source checkout. Repository-only references have explicit public URLs.",
|
|
8931
|
+
"compatibility": "additive",
|
|
8932
|
+
"migration": "none",
|
|
8933
|
+
"changes": [
|
|
8934
|
+
{
|
|
8935
|
+
"class": "package_export",
|
|
8936
|
+
"path": "package.json",
|
|
8937
|
+
"surface_entry": null,
|
|
8938
|
+
"summary": "Include the five existing public continuation guides in the npm package."
|
|
8939
|
+
},
|
|
8940
|
+
{
|
|
8941
|
+
"class": "named_surface",
|
|
8942
|
+
"path": "docs/qa-and-test-orders.md",
|
|
8943
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
8944
|
+
"summary": "Link the repository-only migration case study by its public URL rather than a missing installed path."
|
|
8945
|
+
}
|
|
8946
|
+
],
|
|
8947
|
+
"entry_sha256": "013f64e2936a0368e8869bc95a7dce1074c6cbcb7243b6b12b237350fea80490"
|
|
8948
|
+
},
|
|
8949
|
+
{
|
|
8950
|
+
"id": "RL-0286",
|
|
8951
|
+
"sequence": 274,
|
|
8952
|
+
"date": "2026-10-23",
|
|
8953
|
+
"kind": "release",
|
|
8954
|
+
"surface_version": null,
|
|
8955
|
+
"changelog_section": "1.60.0+agent.8",
|
|
8956
|
+
"changelog_sha256": "b38963eb35fd2bb130d4709b3cf0c55e3a95e0795cd332b5ad1e3298f6a5af88",
|
|
8957
|
+
"agent_impact": "Read evidence_debt before revising a campaign and renew owed Polish/QA evidence for the current build. Use doctor --ci for a standing PR check, with exits 0 current, 3 owed, 4 unknown and 2 for packet usage errors. The example reports evidence findings by default; enforcement requires CAMPAIGNS_OS_EVIDENCE_CHECK=fail. Installed agent context carries the live-revision procedure, and install-agent-context --dry-run previews destination content without writes.",
|
|
8958
|
+
"compatibility": "additive",
|
|
8959
|
+
"migration": "none",
|
|
8960
|
+
"changes": [
|
|
8961
|
+
{
|
|
8962
|
+
"class": "documentation",
|
|
8963
|
+
"path": "agents/claude/CLAUDE.md",
|
|
8964
|
+
"surface_entry": "agents/claude/CLAUDE.md",
|
|
8965
|
+
"summary": "Add the live-campaign revision procedure and report-only standing evidence check to installed Claude context."
|
|
8966
|
+
},
|
|
8967
|
+
{
|
|
8968
|
+
"class": "documentation",
|
|
8969
|
+
"path": "agents/codex/AGENTS.md",
|
|
8970
|
+
"surface_entry": "agents/codex/AGENTS.md",
|
|
8971
|
+
"summary": "Add the live-campaign revision procedure and report-only standing evidence check to installed Codex context."
|
|
8972
|
+
},
|
|
8973
|
+
{
|
|
8974
|
+
"class": "documentation",
|
|
8975
|
+
"path": "agents/copilot/copilot-instructions.md",
|
|
8976
|
+
"surface_entry": "agents/copilot/copilot-instructions.md",
|
|
8977
|
+
"summary": "Add the live-campaign revision procedure and report-only standing evidence check to installed Copilot context."
|
|
8978
|
+
},
|
|
8979
|
+
{
|
|
8980
|
+
"class": "documentation",
|
|
8981
|
+
"path": "agents/cursor/campaigns-os.mdc",
|
|
8982
|
+
"surface_entry": "agents/cursor/campaigns-os.mdc",
|
|
8983
|
+
"summary": "Add the live-campaign revision procedure and report-only standing evidence check to installed Cursor context."
|
|
8984
|
+
},
|
|
8985
|
+
{
|
|
8986
|
+
"class": "named_surface",
|
|
8987
|
+
"path": "docs/build-packet.md",
|
|
8988
|
+
"surface_entry": "docs/build-packet.md",
|
|
8989
|
+
"summary": "Document doctor --ci evidence assessment, output, exit codes and --no-live-refs usage."
|
|
8990
|
+
},
|
|
8991
|
+
{
|
|
8992
|
+
"class": "named_surface",
|
|
8993
|
+
"path": "docs/campaigns-os-build-flow.md",
|
|
8994
|
+
"surface_entry": "docs/campaigns-os-build-flow.md",
|
|
8995
|
+
"summary": "Document the standing campaign PR workflow, report-only default, enforcement opt-in and evidence renewal."
|
|
8996
|
+
},
|
|
8997
|
+
{
|
|
8998
|
+
"class": "named_surface",
|
|
8999
|
+
"path": "docs/readback.md",
|
|
9000
|
+
"surface_entry": "docs/readback.md",
|
|
9001
|
+
"summary": "Document additive evidence_debt, its closed statuses, build bindings and retained-manifest change lists without claiming JSON Schema coverage."
|
|
9002
|
+
},
|
|
9003
|
+
{
|
|
9004
|
+
"class": "cli_surface",
|
|
9005
|
+
"path": "src/cli.mjs",
|
|
9006
|
+
"surface_entry": null,
|
|
9007
|
+
"summary": "Expose doctor --ci and preview installed agent-context destinations and full content under --dry-run."
|
|
9008
|
+
},
|
|
9009
|
+
{
|
|
9010
|
+
"class": "cli_surface",
|
|
9011
|
+
"path": "src/doctor/ci.mjs",
|
|
9012
|
+
"surface_entry": null,
|
|
9013
|
+
"summary": "Assess build-bound Polish/QA debt and format escaped PR reports with current, owed, unknown and usage exit codes."
|
|
9014
|
+
},
|
|
9015
|
+
{
|
|
9016
|
+
"class": "cli_surface",
|
|
9017
|
+
"path": "src/doctor/inspect.mjs",
|
|
9018
|
+
"surface_entry": null,
|
|
9019
|
+
"summary": "Add the shared CI evidence assessment to packet doctor inspection without changing ordinary doctor behavior."
|
|
9020
|
+
}
|
|
9021
|
+
],
|
|
9022
|
+
"entry_sha256": "1373ad7544a503609699964287cb7a94e5ab6c4f9032b3c085dd511008a77a87"
|
|
9023
|
+
},
|
|
9024
|
+
{
|
|
9025
|
+
"id": "RL-0287",
|
|
9026
|
+
"sequence": 275,
|
|
9027
|
+
"date": "2026-10-23",
|
|
9028
|
+
"kind": "release",
|
|
9029
|
+
"surface_version": null,
|
|
9030
|
+
"changelog_section": "1.60.0+agent.9",
|
|
9031
|
+
"changelog_sha256": "79a868508959f46da073ab22d5201bf6726d779c2259c086e6b9dc311176ae9b",
|
|
9032
|
+
"agent_impact": "Run polish capture again after upgrading before recording completed Polish. New writes require current package captures; existing records retain legacy reads. Visual reference warnings and diff diagnostics appear in the QC handoff; pixel scores never decide fidelity.",
|
|
9033
|
+
"compatibility": "compatible",
|
|
9034
|
+
"migration": "Run polish capture before the next completed record polish; never author visual_review.captures by hand.",
|
|
9035
|
+
"changes": [
|
|
9036
|
+
{
|
|
9037
|
+
"class": "named_surface",
|
|
9038
|
+
"path": "docs/design-source-package.md",
|
|
9039
|
+
"surface_entry": "docs/design-source-package.md",
|
|
9040
|
+
"summary": "Document screenshot pixel ratio, dimensions and declared source lineage."
|
|
9041
|
+
},
|
|
9042
|
+
{
|
|
9043
|
+
"class": "named_surface",
|
|
9044
|
+
"path": "docs/skills-revision.md",
|
|
9045
|
+
"surface_entry": "docs/skills-revision.md",
|
|
9046
|
+
"summary": "Update current bundle revision examples to 1.60.0+skills.4."
|
|
9047
|
+
},
|
|
9048
|
+
{
|
|
9049
|
+
"class": "generated_runtime",
|
|
9050
|
+
"path": "package-lock.json",
|
|
9051
|
+
"surface_entry": null,
|
|
9052
|
+
"summary": "Pin the optional visual comparison dependency graph."
|
|
9053
|
+
},
|
|
9054
|
+
{
|
|
9055
|
+
"class": "package_export",
|
|
9056
|
+
"path": "package.json",
|
|
9057
|
+
"surface_entry": null,
|
|
9058
|
+
"summary": "Add optional PNG decoder and pixel comparison dependencies."
|
|
9059
|
+
},
|
|
9060
|
+
{
|
|
9061
|
+
"class": "skill",
|
|
9062
|
+
"path": "skills.json",
|
|
9063
|
+
"surface_entry": null,
|
|
9064
|
+
"summary": "Advance the Polish skill to 1.1.49, every other skill one patch, and the bundle to 1.60.0+skills.4."
|
|
9065
|
+
},
|
|
9066
|
+
{
|
|
9067
|
+
"class": "skill",
|
|
9068
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
9069
|
+
"surface_entry": null,
|
|
9070
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9071
|
+
},
|
|
9072
|
+
{
|
|
9073
|
+
"class": "skill",
|
|
9074
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
9075
|
+
"surface_entry": null,
|
|
9076
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9077
|
+
},
|
|
9078
|
+
{
|
|
9079
|
+
"class": "skill",
|
|
9080
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
9081
|
+
"surface_entry": null,
|
|
9082
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9083
|
+
},
|
|
9084
|
+
{
|
|
9085
|
+
"class": "skill",
|
|
9086
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
9087
|
+
"surface_entry": null,
|
|
9088
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9089
|
+
},
|
|
9090
|
+
{
|
|
9091
|
+
"class": "skill",
|
|
9092
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
9093
|
+
"surface_entry": null,
|
|
9094
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9095
|
+
},
|
|
9096
|
+
{
|
|
9097
|
+
"class": "skill",
|
|
9098
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
9099
|
+
"surface_entry": null,
|
|
9100
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9101
|
+
},
|
|
9102
|
+
{
|
|
9103
|
+
"class": "skill",
|
|
9104
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
9105
|
+
"surface_entry": null,
|
|
9106
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9107
|
+
},
|
|
9108
|
+
{
|
|
9109
|
+
"class": "skill",
|
|
9110
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
9111
|
+
"surface_entry": null,
|
|
9112
|
+
"summary": "Require package captures for completed Polish and present diagnostic review findings."
|
|
9113
|
+
},
|
|
9114
|
+
{
|
|
9115
|
+
"class": "skill",
|
|
9116
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
9117
|
+
"surface_entry": null,
|
|
9118
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9119
|
+
},
|
|
9120
|
+
{
|
|
9121
|
+
"class": "skill",
|
|
9122
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
9123
|
+
"surface_entry": null,
|
|
9124
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9125
|
+
},
|
|
9126
|
+
{
|
|
9127
|
+
"class": "cli_surface",
|
|
9128
|
+
"path": "src/cli.mjs",
|
|
9129
|
+
"surface_entry": null,
|
|
9130
|
+
"summary": "Capture package visual evidence and report its diagnostic summary."
|
|
9131
|
+
}
|
|
9132
|
+
],
|
|
9133
|
+
"entry_sha256": "6db2be5bbde95ca81448ab4d82212f995536fb2ebbd75008de71a056286df912"
|
|
9134
|
+
},
|
|
9135
|
+
{
|
|
9136
|
+
"id": "RL-0288",
|
|
9137
|
+
"sequence": 276,
|
|
9138
|
+
"date": "2026-10-23",
|
|
9139
|
+
"kind": "release",
|
|
9140
|
+
"surface_version": null,
|
|
9141
|
+
"changelog_section": "1.60.0+agent.10",
|
|
9142
|
+
"changelog_sha256": "edca023e7644eebe59a8d52df16cadf8e1fea2dfe3fde6fdb0b74c74b63ee390",
|
|
9143
|
+
"agent_impact": "theme generate can now write .campaign-runtime/theme/brand-fonts.css beside brand-theme.css, and brand-theme.css can carry next-core font-family tokens in a `:root, body` block plus --radius-size--buttons. When brand-fonts.css exists, a build agent copies it into the campaign assets/css folder and loads it on the same commerce pages as the brand layer; record theme refuses a styled page that does not. Sources without self-hosted brand faces generate the same CSS as before.",
|
|
9144
|
+
"compatibility": "additive",
|
|
9145
|
+
"migration": "none",
|
|
9146
|
+
"changes": [
|
|
9147
|
+
{
|
|
9148
|
+
"class": "named_surface",
|
|
9149
|
+
"path": "docs/brand-theme-bridge.md",
|
|
9150
|
+
"surface_entry": "docs/brand-theme-bridge.md",
|
|
9151
|
+
"summary": "New Typography section: what inspection reads, the three next-core targets, the :root, body block, brand-fonts.css, and the record theme requirement."
|
|
9152
|
+
},
|
|
9153
|
+
{
|
|
9154
|
+
"class": "named_surface",
|
|
9155
|
+
"path": "docs/campaigns-os-build-flow.md",
|
|
9156
|
+
"surface_entry": "docs/campaigns-os-build-flow.md",
|
|
9157
|
+
"summary": "Build copies and loads brand-fonts.css beside brand-theme.css when theme generate wrote one."
|
|
9158
|
+
},
|
|
9159
|
+
{
|
|
9160
|
+
"class": "named_surface",
|
|
9161
|
+
"path": "docs/skills-revision.md",
|
|
9162
|
+
"surface_entry": "docs/skills-revision.md",
|
|
9163
|
+
"summary": "Examples name bundle revision 1.60.0+skills.5."
|
|
9164
|
+
},
|
|
9165
|
+
{
|
|
9166
|
+
"class": "cli_surface",
|
|
9167
|
+
"path": "src/cli.mjs",
|
|
9168
|
+
"surface_entry": null,
|
|
9169
|
+
"summary": "Build guidance and the prepare-build theme evidence line name brand-fonts.css alongside brand-theme.css."
|
|
9170
|
+
},
|
|
9171
|
+
{
|
|
9172
|
+
"class": "skill",
|
|
9173
|
+
"path": "skills.json",
|
|
9174
|
+
"surface_entry": "skills.json",
|
|
9175
|
+
"summary": "Advance bundle revision to 1.60.0+skills.5 and each skill version one patch."
|
|
9176
|
+
},
|
|
9177
|
+
{
|
|
9178
|
+
"class": "skill",
|
|
9179
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
9180
|
+
"surface_entry": null,
|
|
9181
|
+
"summary": "Copy and load brand-fonts.css with the brand layer when theme generate wrote one."
|
|
9182
|
+
},
|
|
9183
|
+
{
|
|
9184
|
+
"class": "skill",
|
|
9185
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
9186
|
+
"surface_entry": null,
|
|
9187
|
+
"summary": "Check font parity at a mobile width as well as desktop."
|
|
9188
|
+
},
|
|
9189
|
+
{
|
|
9190
|
+
"class": "skill",
|
|
9191
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
9192
|
+
"surface_entry": null,
|
|
9193
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9194
|
+
},
|
|
9195
|
+
{
|
|
9196
|
+
"class": "skill",
|
|
9197
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
9198
|
+
"surface_entry": null,
|
|
9199
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9200
|
+
},
|
|
9201
|
+
{
|
|
9202
|
+
"class": "skill",
|
|
9203
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
9204
|
+
"surface_entry": null,
|
|
9205
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9206
|
+
},
|
|
9207
|
+
{
|
|
9208
|
+
"class": "skill",
|
|
9209
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
9210
|
+
"surface_entry": null,
|
|
9211
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9212
|
+
},
|
|
9213
|
+
{
|
|
9214
|
+
"class": "skill",
|
|
9215
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
9216
|
+
"surface_entry": null,
|
|
9217
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9218
|
+
},
|
|
9219
|
+
{
|
|
9220
|
+
"class": "skill",
|
|
9221
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
9222
|
+
"surface_entry": null,
|
|
9223
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9224
|
+
},
|
|
9225
|
+
{
|
|
9226
|
+
"class": "skill",
|
|
9227
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
9228
|
+
"surface_entry": null,
|
|
9229
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9230
|
+
},
|
|
9231
|
+
{
|
|
9232
|
+
"class": "skill",
|
|
9233
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
9234
|
+
"surface_entry": null,
|
|
9235
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9236
|
+
}
|
|
9237
|
+
],
|
|
9238
|
+
"entry_sha256": "a3a9fd429e90c43fe9870f9ea92cb8b0abff84f4e2698cba04175337d1d71289"
|
|
9239
|
+
},
|
|
9240
|
+
{
|
|
9241
|
+
"id": "RL-0289",
|
|
9242
|
+
"sequence": 277,
|
|
9243
|
+
"date": "2026-10-23",
|
|
9244
|
+
"kind": "release",
|
|
9245
|
+
"surface_version": "1.61.0",
|
|
9246
|
+
"changelog_section": "1.61.0",
|
|
9247
|
+
"changelog_sha256": "602057600e181bcd5c5fe3be78eba1bbd70e5af9f10780249a98b83978ad9572",
|
|
9248
|
+
"agent_impact": "The 1.61.0 package publishes 1.60.0+agent.7 through agent.10, adds manifest-declared or Figma-spec export-provenance-backed design-file authority and element-level Polish comparisons for operator review, and describes readback evidence debt in the published schema. Refresh bundled skills to 1.61.0+skills.1; unknown design access or evidence debt is not proof that review is complete.",
|
|
9249
|
+
"compatibility": "additive",
|
|
9250
|
+
"migration": "Update the pinned package and refresh installed skills to 1.61.0+skills.1. Run polish capture again before the next completed record polish. After changing built output, renew any owed Polish and QA evidence.",
|
|
9251
|
+
"changes": [
|
|
9252
|
+
{
|
|
9253
|
+
"class": "compatibility_policy",
|
|
9254
|
+
"path": "compatibility.json",
|
|
9255
|
+
"surface_entry": "compatibility.json",
|
|
9256
|
+
"summary": "Name 1.61.0 as the release package version."
|
|
9257
|
+
},
|
|
9258
|
+
{
|
|
9259
|
+
"class": "compatibility_policy",
|
|
9260
|
+
"path": "contracts/supported-surface.json",
|
|
9261
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
9262
|
+
"summary": "Advance the surface to 1.61.0 and refresh the design-source, source-html manifest and readback schema hashes."
|
|
9263
|
+
},
|
|
9264
|
+
{
|
|
9265
|
+
"class": "named_surface",
|
|
9266
|
+
"path": "docs/campaign-build-brief.md",
|
|
9267
|
+
"surface_entry": "docs/campaign-build-brief.md",
|
|
9268
|
+
"summary": "Describe design-file authority under its own section after the brief definition, with Figma-only spec lineage requiring doctor's provenance check to pass without a waiver and unexercised design access."
|
|
9269
|
+
},
|
|
9270
|
+
{
|
|
9271
|
+
"class": "named_surface",
|
|
9272
|
+
"path": "docs/design-source-package.md",
|
|
9273
|
+
"surface_entry": "docs/design-source-package.md",
|
|
9274
|
+
"summary": "Document manifest design-file declarations, Figma-only provenance-gated intake, comparison of recorded spec files regardless of current manifest availability, source-HTML element parity, file-only identity and missing-declaration recovery."
|
|
9275
|
+
},
|
|
9276
|
+
{
|
|
9277
|
+
"class": "named_surface",
|
|
9278
|
+
"path": "docs/local-setup.md",
|
|
9279
|
+
"surface_entry": "docs/local-setup.md",
|
|
9280
|
+
"summary": "Pin the documented toolkit installation to 1.61.0."
|
|
9281
|
+
},
|
|
9282
|
+
{
|
|
9283
|
+
"class": "documentation",
|
|
9284
|
+
"path": "docs/orientation-contract-reference.md",
|
|
9285
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
9286
|
+
"summary": "Regenerate the orientation reference at surface 1.61.0."
|
|
9287
|
+
},
|
|
9288
|
+
{
|
|
9289
|
+
"class": "named_surface",
|
|
9290
|
+
"path": "docs/readback.md",
|
|
9291
|
+
"surface_entry": "docs/readback.md",
|
|
9292
|
+
"summary": "State that the readback schema now describes the additive evidence_debt field."
|
|
9293
|
+
},
|
|
9294
|
+
{
|
|
9295
|
+
"class": "named_surface",
|
|
9296
|
+
"path": "docs/runtime-readiness.md",
|
|
9297
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
9298
|
+
"summary": "Regenerate runtime readiness at surface 1.61.0."
|
|
9299
|
+
},
|
|
9300
|
+
{
|
|
9301
|
+
"class": "named_surface",
|
|
9302
|
+
"path": "docs/skills-revision.md",
|
|
9303
|
+
"surface_entry": "docs/skills-revision.md",
|
|
9304
|
+
"summary": "Show the 1.61.0+skills.1 bundle identity in preflight examples."
|
|
9305
|
+
},
|
|
9306
|
+
{
|
|
9307
|
+
"class": "generated_runtime",
|
|
9308
|
+
"path": "package-lock.json",
|
|
9309
|
+
"surface_entry": null,
|
|
9310
|
+
"summary": "Advance the two root package version stamps to 1.61.0 without changing dependency resolutions."
|
|
9311
|
+
},
|
|
9312
|
+
{
|
|
9313
|
+
"class": "package_export",
|
|
9314
|
+
"path": "package.json",
|
|
9315
|
+
"surface_entry": null,
|
|
9316
|
+
"summary": "Advance the package version to 1.61.0."
|
|
9317
|
+
},
|
|
9318
|
+
{
|
|
9319
|
+
"class": "schema",
|
|
9320
|
+
"path": "schemas/campaign-design-source-package.v0.schema.json",
|
|
9321
|
+
"surface_entry": "schemas/campaign-design-source-package.v0.schema.json",
|
|
9322
|
+
"summary": "Describe the optional design-file type and derived_from contribution lineage."
|
|
9323
|
+
},
|
|
9324
|
+
{
|
|
9325
|
+
"class": "schema",
|
|
9326
|
+
"path": "schemas/campaigns-os-readback.v2.schema.json",
|
|
9327
|
+
"surface_entry": "schemas/campaigns-os-readback.v2.schema.json",
|
|
9328
|
+
"summary": "Describe optional evidence_debt stage statuses, reasons and assembly-manifest changes, and make owed evidence explicit in the clean rule."
|
|
9329
|
+
},
|
|
9330
|
+
{
|
|
9331
|
+
"class": "schema",
|
|
9332
|
+
"path": "schemas/source-html-manifest.v0.schema.json",
|
|
9333
|
+
"surface_entry": "schemas/source-html-manifest.v0.schema.json",
|
|
9334
|
+
"summary": "Accept optional design_file declarations while preserving non-fatal warnings for malformed values."
|
|
9335
|
+
},
|
|
9336
|
+
{
|
|
9337
|
+
"class": "skill",
|
|
9338
|
+
"path": "skills.json",
|
|
9339
|
+
"surface_entry": "skills.json",
|
|
9340
|
+
"summary": "Advance the bundle to 1.61.0+skills.1 and every bundled skill by one patch."
|
|
9341
|
+
},
|
|
9342
|
+
{
|
|
9343
|
+
"class": "skill",
|
|
9344
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
9345
|
+
"surface_entry": null,
|
|
9346
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9347
|
+
},
|
|
9348
|
+
{
|
|
9349
|
+
"class": "skill",
|
|
9350
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
9351
|
+
"surface_entry": null,
|
|
9352
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9353
|
+
},
|
|
9354
|
+
{
|
|
9355
|
+
"class": "skill",
|
|
9356
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
9357
|
+
"surface_entry": null,
|
|
9358
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9359
|
+
},
|
|
9360
|
+
{
|
|
9361
|
+
"class": "skill",
|
|
9362
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
9363
|
+
"surface_entry": null,
|
|
9364
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9365
|
+
},
|
|
9366
|
+
{
|
|
9367
|
+
"class": "skill",
|
|
9368
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
9369
|
+
"surface_entry": null,
|
|
9370
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9371
|
+
},
|
|
9372
|
+
{
|
|
9373
|
+
"class": "skill",
|
|
9374
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
9375
|
+
"surface_entry": null,
|
|
9376
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9377
|
+
},
|
|
9378
|
+
{
|
|
9379
|
+
"class": "skill",
|
|
9380
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
9381
|
+
"surface_entry": null,
|
|
9382
|
+
"summary": "Bump the skill one patch, stamp bundle 1.61.0+skills.1, and give the manifest design_file object shape and the design-source package documentation for Figma-only spec lineage."
|
|
9383
|
+
},
|
|
9384
|
+
{
|
|
9385
|
+
"class": "skill",
|
|
9386
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
9387
|
+
"surface_entry": null,
|
|
9388
|
+
"summary": "Bump the skill one patch, stamp bundle 1.61.0+skills.1, and explain parity.element review, unexercised design.access and changed, missing or conflicting file recovery in the nonblocking Polish handoff."
|
|
9389
|
+
},
|
|
9390
|
+
{
|
|
9391
|
+
"class": "skill",
|
|
9392
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
9393
|
+
"surface_entry": null,
|
|
9394
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9395
|
+
},
|
|
9396
|
+
{
|
|
9397
|
+
"class": "skill",
|
|
9398
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
9399
|
+
"surface_entry": null,
|
|
9400
|
+
"summary": "Bump the skill one patch and stamp bundle 1.61.0+skills.1."
|
|
9401
|
+
},
|
|
9402
|
+
{
|
|
9403
|
+
"class": "cli_surface",
|
|
9404
|
+
"path": "src/cli.mjs",
|
|
9405
|
+
"surface_entry": null,
|
|
9406
|
+
"summary": "Record declared design-file references in the drafted Build Brief at prepare-build, and attach the capture's element-parity record to Polish evidence."
|
|
9407
|
+
},
|
|
9408
|
+
{
|
|
9409
|
+
"class": "cli_surface",
|
|
9410
|
+
"path": "src/doctor/checks.mjs",
|
|
9411
|
+
"surface_entry": null,
|
|
9412
|
+
"summary": "Report nonblocking design.access with separate changed, conflicting and missing declaration reviews; doctor first applies today's intake rule, then falls back to a usable Figma spec only for a page with recorded derived_from design-file lineage, regardless of the shared file's producer; preserve the #534 gate."
|
|
9413
|
+
},
|
|
9414
|
+
{
|
|
9415
|
+
"class": "cli_surface",
|
|
9416
|
+
"path": "src/doctor/source-provenance.mjs",
|
|
9417
|
+
"surface_entry": null,
|
|
9418
|
+
"summary": "Share the existing Figma-export provenance findings with intake so only Figma spec declarations backed by the unwaived check establish design-file lineage; preserve #534 findings and waiver semantics, with imports below the header."
|
|
9419
|
+
}
|
|
9420
|
+
],
|
|
9421
|
+
"entry_sha256": "8c2fc5103b4e74c10d0e9b9ff62369ee7eeb1821a7cc9f0912090fa46ede6165"
|
|
9422
|
+
},
|
|
9423
|
+
{
|
|
9424
|
+
"id": "RL-0290",
|
|
9425
|
+
"sequence": 278,
|
|
9426
|
+
"date": "2026-10-24",
|
|
9427
|
+
"kind": "amendment",
|
|
9428
|
+
"amends": "RL-0289",
|
|
9429
|
+
"amendment_reason": "The 1.61.0 section listed only the 1.60.0+agent.7 to agent.10 sections it publishes. The tag also carries 1.60.0+agent.1 through agent.6, released on main after 1.60.0 and never named in a release section. The section now lists all ten; this amendment carries the corrected section hash. RL-0289 is otherwise unchanged. The 1.60.0+agent.2 section (in-page Meta pixel observation, campaigns-os#686) has no ledger entry of its own on main: the ledger links agent.1 (RL-0280) and then agent.3 (RL-0281). That gap predates this amendment; the section is named here because the tag carries it, and a backfill entry for it is separate work.",
|
|
9430
|
+
"surface_version": null,
|
|
9431
|
+
"changelog_section": "1.61.0",
|
|
9432
|
+
"changelog_sha256": "7a17f07adc73539981842f2b18fe9bbe20f5062a1e9690326bbbc124f5b18194",
|
|
9433
|
+
"agent_impact": "RL-0289's publish list is incomplete: it starts at 1.60.0+agent.7 and omits agent.1 through agent.6. Read it as superseded on that point: a 1.61.0 install carries 1.60.0+agent.1 through agent.10. The six earlier sections are the qa run --site slug fix, the in-page Meta pixel observation, the page-type doctor advisories, the sdk-bump skill round-two changes with the v0.4.43 attribute index, the documented qa run test-address flags, and the sdk storage-check report wording. Read those sections when reconciling behaviour against 1.60.0. RL-0289 is otherwise unchanged.",
|
|
9434
|
+
"compatibility": "compatible",
|
|
9435
|
+
"migration": "none",
|
|
9436
|
+
"changes": [
|
|
9437
|
+
{
|
|
9438
|
+
"class": "documentation",
|
|
9439
|
+
"path": null,
|
|
9440
|
+
"surface_entry": "CHANGELOG.md",
|
|
9441
|
+
"summary": "List 1.60.0+agent.1 through agent.6 in the 1.61.0 release section as published sections; the section bytes change, the entry it amends does not."
|
|
9442
|
+
}
|
|
9443
|
+
],
|
|
9444
|
+
"entry_sha256": "9d23c21ceafc7503647f80368a13d30b3d074566bd6d7bcd7a4e07fb482a569b"
|
|
9445
|
+
},
|
|
9446
|
+
{
|
|
9447
|
+
"id": "RL-0291",
|
|
9448
|
+
"sequence": 279,
|
|
9449
|
+
"date": "2026-10-24",
|
|
9450
|
+
"kind": "amendment",
|
|
9451
|
+
"amends": "RL-0290",
|
|
9452
|
+
"amendment_reason": "The 1.61.0 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0290 is otherwise unchanged.",
|
|
9453
|
+
"surface_version": null,
|
|
9454
|
+
"changelog_section": "1.61.0",
|
|
9455
|
+
"changelog_sha256": "1528cc028bdd57c2fd8e77df165a1dddfb6ba02b9ed8b9d0bdbec7fb88397372",
|
|
9456
|
+
"agent_impact": "None. The 1.61.0 section now opens with a summary paragraph; the changes RL-0290 records, and everything it says about them, stand as written.",
|
|
9457
|
+
"compatibility": "compatible",
|
|
9458
|
+
"migration": "none",
|
|
9459
|
+
"changes": [
|
|
9460
|
+
{
|
|
9461
|
+
"class": "documentation",
|
|
9462
|
+
"path": null,
|
|
9463
|
+
"surface_entry": "CHANGELOG.md",
|
|
9464
|
+
"summary": "Add a plain-language summary at the top of the 1.61.0 changelog section; the section bytes change, the entry it amends does not."
|
|
9465
|
+
}
|
|
9466
|
+
],
|
|
9467
|
+
"entry_sha256": "836066c2bf381f911682ea7e4f0c5410d5a4a140a36b1e40a8ffb819b3d890d5"
|
|
9468
|
+
},
|
|
9469
|
+
{
|
|
9470
|
+
"id": "RL-0292",
|
|
9471
|
+
"sequence": 280,
|
|
9472
|
+
"date": "2026-10-24",
|
|
9473
|
+
"kind": "amendment",
|
|
9474
|
+
"amends": "RL-0288",
|
|
9475
|
+
"amendment_reason": "The 1.60.0+agent.10 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0288 is otherwise unchanged.",
|
|
9476
|
+
"surface_version": null,
|
|
9477
|
+
"changelog_section": "1.60.0+agent.10",
|
|
9478
|
+
"changelog_sha256": "854116099e7c29be864a51f30fa79088a206394e9dfbff00cd836e8656704399",
|
|
9479
|
+
"agent_impact": "None. The 1.60.0+agent.10 section now opens with a summary paragraph; the changes RL-0288 records, and everything it says about them, stand as written.",
|
|
9480
|
+
"compatibility": "compatible",
|
|
9481
|
+
"migration": "none",
|
|
9482
|
+
"changes": [
|
|
9483
|
+
{
|
|
9484
|
+
"class": "documentation",
|
|
9485
|
+
"path": null,
|
|
9486
|
+
"surface_entry": "CHANGELOG.md",
|
|
9487
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.10 changelog section; the section bytes change, the entry it amends does not."
|
|
9488
|
+
}
|
|
9489
|
+
],
|
|
9490
|
+
"entry_sha256": "637ef794bd2a4076ad180bc5c3a530f228673f74d1ea51bed44bb26b8b2f857a"
|
|
9491
|
+
},
|
|
9492
|
+
{
|
|
9493
|
+
"id": "RL-0293",
|
|
9494
|
+
"sequence": 281,
|
|
9495
|
+
"date": "2026-10-24",
|
|
9496
|
+
"kind": "amendment",
|
|
9497
|
+
"amends": "RL-0287",
|
|
9498
|
+
"amendment_reason": "The 1.60.0+agent.9 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0287 is otherwise unchanged.",
|
|
9499
|
+
"surface_version": null,
|
|
9500
|
+
"changelog_section": "1.60.0+agent.9",
|
|
9501
|
+
"changelog_sha256": "ca8f5a76467b73cd95a67cd97ff50a278ce6667a28391776e2c8b0ad752f14ea",
|
|
9502
|
+
"agent_impact": "None. The 1.60.0+agent.9 section now opens with a summary paragraph; the changes RL-0287 records, and everything it says about them, stand as written.",
|
|
9503
|
+
"compatibility": "compatible",
|
|
9504
|
+
"migration": "none",
|
|
9505
|
+
"changes": [
|
|
9506
|
+
{
|
|
9507
|
+
"class": "documentation",
|
|
9508
|
+
"path": null,
|
|
9509
|
+
"surface_entry": "CHANGELOG.md",
|
|
9510
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.9 changelog section; the section bytes change, the entry it amends does not."
|
|
9511
|
+
}
|
|
9512
|
+
],
|
|
9513
|
+
"entry_sha256": "7f9ac243a700d14ac0bc98ba544d7c27092047791130cee38b3936cb487bdbd1"
|
|
9514
|
+
},
|
|
9515
|
+
{
|
|
9516
|
+
"id": "RL-0294",
|
|
9517
|
+
"sequence": 282,
|
|
9518
|
+
"date": "2026-10-24",
|
|
9519
|
+
"kind": "amendment",
|
|
9520
|
+
"amends": "RL-0286",
|
|
9521
|
+
"amendment_reason": "The 1.60.0+agent.8 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0286 is otherwise unchanged.",
|
|
9522
|
+
"surface_version": null,
|
|
9523
|
+
"changelog_section": "1.60.0+agent.8",
|
|
9524
|
+
"changelog_sha256": "316e1ed7542dd196fa09c8f666fe938fb7be473644a9d9168d4b8df0e4af972a",
|
|
9525
|
+
"agent_impact": "None. The 1.60.0+agent.8 section now opens with a summary paragraph; the changes RL-0286 records, and everything it says about them, stand as written.",
|
|
9526
|
+
"compatibility": "compatible",
|
|
9527
|
+
"migration": "none",
|
|
9528
|
+
"changes": [
|
|
9529
|
+
{
|
|
9530
|
+
"class": "documentation",
|
|
9531
|
+
"path": null,
|
|
9532
|
+
"surface_entry": "CHANGELOG.md",
|
|
9533
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.8 changelog section; the section bytes change, the entry it amends does not."
|
|
9534
|
+
}
|
|
9535
|
+
],
|
|
9536
|
+
"entry_sha256": "76a710ca5a0cbf082499affcd2642e8fd891500c4272633246ed8a31820aaa68"
|
|
9537
|
+
},
|
|
9538
|
+
{
|
|
9539
|
+
"id": "RL-0295",
|
|
9540
|
+
"sequence": 283,
|
|
9541
|
+
"date": "2026-10-24",
|
|
9542
|
+
"kind": "amendment",
|
|
9543
|
+
"amends": "RL-0285",
|
|
9544
|
+
"amendment_reason": "The 1.60.0+agent.7 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0285 is otherwise unchanged.",
|
|
9545
|
+
"surface_version": null,
|
|
9546
|
+
"changelog_section": "1.60.0+agent.7",
|
|
9547
|
+
"changelog_sha256": "63df77cb934d392e050167889a41882fdf58c21e099f901e917563e7f8ac3bc7",
|
|
9548
|
+
"agent_impact": "None. The 1.60.0+agent.7 section now opens with a summary paragraph; the changes RL-0285 records, and everything it says about them, stand as written.",
|
|
9549
|
+
"compatibility": "compatible",
|
|
9550
|
+
"migration": "none",
|
|
9551
|
+
"changes": [
|
|
9552
|
+
{
|
|
9553
|
+
"class": "documentation",
|
|
9554
|
+
"path": null,
|
|
9555
|
+
"surface_entry": "CHANGELOG.md",
|
|
9556
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.7 changelog section; the section bytes change, the entry it amends does not."
|
|
9557
|
+
}
|
|
9558
|
+
],
|
|
9559
|
+
"entry_sha256": "2420fc39ca5d8bbe7a7fc0d434089d52a5ae75d03fee32192dde12b931c0b7df"
|
|
9560
|
+
},
|
|
9561
|
+
{
|
|
9562
|
+
"id": "RL-0296",
|
|
9563
|
+
"sequence": 284,
|
|
9564
|
+
"date": "2026-10-24",
|
|
9565
|
+
"kind": "amendment",
|
|
9566
|
+
"amends": "RL-0284",
|
|
9567
|
+
"amendment_reason": "The 1.60.0+agent.6 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0284 is otherwise unchanged.",
|
|
9568
|
+
"surface_version": null,
|
|
9569
|
+
"changelog_section": "1.60.0+agent.6",
|
|
9570
|
+
"changelog_sha256": "25cca79158a80db7fe61967b1622693892fb26490387f773f0bc01eebf762d1d",
|
|
9571
|
+
"agent_impact": "None. The 1.60.0+agent.6 section now opens with a summary paragraph; the changes RL-0284 records, and everything it says about them, stand as written.",
|
|
9572
|
+
"compatibility": "compatible",
|
|
9573
|
+
"migration": "none",
|
|
9574
|
+
"changes": [
|
|
9575
|
+
{
|
|
9576
|
+
"class": "documentation",
|
|
9577
|
+
"path": null,
|
|
9578
|
+
"surface_entry": "CHANGELOG.md",
|
|
9579
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.6 changelog section; the section bytes change, the entry it amends does not."
|
|
9580
|
+
}
|
|
9581
|
+
],
|
|
9582
|
+
"entry_sha256": "1b3531e5a696060f50319e87a7bc25cde0ac2ea0d2df49b2bfab60d2c875bf65"
|
|
9583
|
+
},
|
|
9584
|
+
{
|
|
9585
|
+
"id": "RL-0297",
|
|
9586
|
+
"sequence": 285,
|
|
9587
|
+
"date": "2026-10-24",
|
|
9588
|
+
"kind": "amendment",
|
|
9589
|
+
"amends": "RL-0283",
|
|
9590
|
+
"amendment_reason": "The 1.60.0+agent.5 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0283 is otherwise unchanged.",
|
|
9591
|
+
"surface_version": null,
|
|
9592
|
+
"changelog_section": "1.60.0+agent.5",
|
|
9593
|
+
"changelog_sha256": "d614ad57b22133a6a5c76f79edc1c0dffc776ebe81eff4b2a05872392fadd324",
|
|
9594
|
+
"agent_impact": "None. The 1.60.0+agent.5 section now opens with a summary paragraph; the changes RL-0283 records, and everything it says about them, stand as written.",
|
|
9595
|
+
"compatibility": "compatible",
|
|
9596
|
+
"migration": "none",
|
|
9597
|
+
"changes": [
|
|
9598
|
+
{
|
|
9599
|
+
"class": "documentation",
|
|
9600
|
+
"path": null,
|
|
9601
|
+
"surface_entry": "CHANGELOG.md",
|
|
9602
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.5 changelog section; the section bytes change, the entry it amends does not."
|
|
9603
|
+
}
|
|
9604
|
+
],
|
|
9605
|
+
"entry_sha256": "3b9f1a02ed5447a0ea3171beef9cd7e16533746d4c8766c4e79f39d90296afdf"
|
|
9606
|
+
},
|
|
9607
|
+
{
|
|
9608
|
+
"id": "RL-0298",
|
|
9609
|
+
"sequence": 286,
|
|
9610
|
+
"date": "2026-10-24",
|
|
9611
|
+
"kind": "amendment",
|
|
9612
|
+
"amends": "RL-0282",
|
|
9613
|
+
"amendment_reason": "The 1.60.0+agent.4 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0282 is otherwise unchanged.",
|
|
9614
|
+
"surface_version": null,
|
|
9615
|
+
"changelog_section": "1.60.0+agent.4",
|
|
9616
|
+
"changelog_sha256": "c60dd68995d3fec5388efe3e0e96015eff60ec6a3c6f037a25dc647b69919336",
|
|
9617
|
+
"agent_impact": "None. The 1.60.0+agent.4 section now opens with a summary paragraph; the changes RL-0282 records, and everything it says about them, stand as written.",
|
|
9618
|
+
"compatibility": "compatible",
|
|
9619
|
+
"migration": "none",
|
|
9620
|
+
"changes": [
|
|
9621
|
+
{
|
|
9622
|
+
"class": "documentation",
|
|
9623
|
+
"path": null,
|
|
9624
|
+
"surface_entry": "CHANGELOG.md",
|
|
9625
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.4 changelog section; the section bytes change, the entry it amends does not."
|
|
9626
|
+
}
|
|
9627
|
+
],
|
|
9628
|
+
"entry_sha256": "13920b10cac21e22b8a0e85de715ba4beb930a741d66d4eb5e46383382b55b5f"
|
|
9629
|
+
},
|
|
9630
|
+
{
|
|
9631
|
+
"id": "RL-0299",
|
|
9632
|
+
"sequence": 287,
|
|
9633
|
+
"date": "2026-10-24",
|
|
9634
|
+
"kind": "amendment",
|
|
9635
|
+
"amends": "RL-0281",
|
|
9636
|
+
"amendment_reason": "The 1.60.0+agent.3 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0281 is otherwise unchanged.",
|
|
9637
|
+
"surface_version": null,
|
|
9638
|
+
"changelog_section": "1.60.0+agent.3",
|
|
9639
|
+
"changelog_sha256": "23565203a748876f2ee5167c8e965028023a73ac374bff8580580112376d0bc8",
|
|
9640
|
+
"agent_impact": "None. The 1.60.0+agent.3 section now opens with a summary paragraph; the changes RL-0281 records, and everything it says about them, stand as written.",
|
|
9641
|
+
"compatibility": "compatible",
|
|
9642
|
+
"migration": "none",
|
|
9643
|
+
"changes": [
|
|
9644
|
+
{
|
|
9645
|
+
"class": "documentation",
|
|
9646
|
+
"path": null,
|
|
9647
|
+
"surface_entry": "CHANGELOG.md",
|
|
9648
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.3 changelog section; the section bytes change, the entry it amends does not."
|
|
9649
|
+
}
|
|
9650
|
+
],
|
|
9651
|
+
"entry_sha256": "720519bb93f0691aa542a256918abfb89cd17323eb0c570542ed8994ac9341ec"
|
|
9652
|
+
},
|
|
9653
|
+
{
|
|
9654
|
+
"id": "RL-0300",
|
|
9655
|
+
"sequence": 288,
|
|
9656
|
+
"date": "2026-10-24",
|
|
9657
|
+
"kind": "amendment",
|
|
9658
|
+
"amends": "RL-0280",
|
|
9659
|
+
"amendment_reason": "The 1.60.0+agent.1 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0280 is otherwise unchanged.",
|
|
9660
|
+
"surface_version": null,
|
|
9661
|
+
"changelog_section": "1.60.0+agent.1",
|
|
9662
|
+
"changelog_sha256": "387d37541874a61284c07206762053088e7bd428a316667e2fcc7f3179b6271b",
|
|
9663
|
+
"agent_impact": "None. The 1.60.0+agent.1 section now opens with a summary paragraph; the changes RL-0280 records, and everything it says about them, stand as written.",
|
|
9664
|
+
"compatibility": "compatible",
|
|
9665
|
+
"migration": "none",
|
|
9666
|
+
"changes": [
|
|
9667
|
+
{
|
|
9668
|
+
"class": "documentation",
|
|
9669
|
+
"path": null,
|
|
9670
|
+
"surface_entry": "CHANGELOG.md",
|
|
9671
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0+agent.1 changelog section; the section bytes change, the entry it amends does not."
|
|
9672
|
+
}
|
|
9673
|
+
],
|
|
9674
|
+
"entry_sha256": "113f4693437cbab35a309242675e1ab79b6471e3540a5bbe03e5e7f86a2578d3"
|
|
9675
|
+
},
|
|
9676
|
+
{
|
|
9677
|
+
"id": "RL-0301",
|
|
9678
|
+
"sequence": 289,
|
|
9679
|
+
"date": "2026-10-24",
|
|
9680
|
+
"kind": "amendment",
|
|
9681
|
+
"amends": "RL-0279",
|
|
9682
|
+
"amendment_reason": "The 1.60.0 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0279 is otherwise unchanged.",
|
|
9683
|
+
"surface_version": null,
|
|
9684
|
+
"changelog_section": "1.60.0",
|
|
9685
|
+
"changelog_sha256": "1a7e4c8f6a723d2ea7cef5bc19d5aa556c046eb5af58fd8732d5769db6ddcd98",
|
|
9686
|
+
"agent_impact": "None. The 1.60.0 section now opens with a summary paragraph; the changes RL-0279 records, and everything it says about them, stand as written.",
|
|
9687
|
+
"compatibility": "compatible",
|
|
9688
|
+
"migration": "none",
|
|
9689
|
+
"changes": [
|
|
9690
|
+
{
|
|
9691
|
+
"class": "documentation",
|
|
9692
|
+
"path": null,
|
|
9693
|
+
"surface_entry": "CHANGELOG.md",
|
|
9694
|
+
"summary": "Add a plain-language summary at the top of the 1.60.0 changelog section; the section bytes change, the entry it amends does not."
|
|
9695
|
+
}
|
|
9696
|
+
],
|
|
9697
|
+
"entry_sha256": "a2bd9bd9cd1ef6d0234815957e121f24c5c4f9fe997fac1b9d987baf10f666ca"
|
|
9698
|
+
},
|
|
9699
|
+
{
|
|
9700
|
+
"id": "RL-0302",
|
|
9701
|
+
"sequence": 290,
|
|
9702
|
+
"date": "2026-10-24",
|
|
9703
|
+
"kind": "amendment",
|
|
9704
|
+
"amends": "RL-0278",
|
|
9705
|
+
"amendment_reason": "The 1.59.0+agent.13 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0278 is otherwise unchanged.",
|
|
9706
|
+
"surface_version": null,
|
|
9707
|
+
"changelog_section": "1.59.0+agent.13",
|
|
9708
|
+
"changelog_sha256": "5a99271a0f9a70dd6fb37e5884e9c0c356c8c62f1196c1c1e786074867ea80ca",
|
|
9709
|
+
"agent_impact": "None. The 1.59.0+agent.13 section now opens with a summary paragraph; the changes RL-0278 records, and everything it says about them, stand as written.",
|
|
9710
|
+
"compatibility": "compatible",
|
|
9711
|
+
"migration": "none",
|
|
9712
|
+
"changes": [
|
|
9713
|
+
{
|
|
9714
|
+
"class": "documentation",
|
|
9715
|
+
"path": null,
|
|
9716
|
+
"surface_entry": "CHANGELOG.md",
|
|
9717
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.13 changelog section; the section bytes change, the entry it amends does not."
|
|
9718
|
+
}
|
|
9719
|
+
],
|
|
9720
|
+
"entry_sha256": "f9ca1652ee8eacec61153a379eff3b85e28fa70addcd28d2727dad04961940c2"
|
|
9721
|
+
},
|
|
9722
|
+
{
|
|
9723
|
+
"id": "RL-0303",
|
|
9724
|
+
"sequence": 291,
|
|
9725
|
+
"date": "2026-10-24",
|
|
9726
|
+
"kind": "amendment",
|
|
9727
|
+
"amends": "RL-0277",
|
|
9728
|
+
"amendment_reason": "The 1.59.0+agent.12 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0277 is otherwise unchanged.",
|
|
9729
|
+
"surface_version": null,
|
|
9730
|
+
"changelog_section": "1.59.0+agent.12",
|
|
9731
|
+
"changelog_sha256": "ebe67d12ac2ac604b63228b7a7fdf2fe601d1d937ab7865a74dd908ecb73c42e",
|
|
9732
|
+
"agent_impact": "None. The 1.59.0+agent.12 section now opens with a summary paragraph; the changes RL-0277 records, and everything it says about them, stand as written.",
|
|
9733
|
+
"compatibility": "compatible",
|
|
9734
|
+
"migration": "none",
|
|
9735
|
+
"changes": [
|
|
9736
|
+
{
|
|
9737
|
+
"class": "documentation",
|
|
9738
|
+
"path": null,
|
|
9739
|
+
"surface_entry": "CHANGELOG.md",
|
|
9740
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.12 changelog section; the section bytes change, the entry it amends does not."
|
|
9741
|
+
}
|
|
9742
|
+
],
|
|
9743
|
+
"entry_sha256": "c11bfa088e4823d1920084cfdbd6bbc374d97291f706baab0dce43e0c5e403b9"
|
|
9744
|
+
},
|
|
9745
|
+
{
|
|
9746
|
+
"id": "RL-0304",
|
|
9747
|
+
"sequence": 292,
|
|
9748
|
+
"date": "2026-10-24",
|
|
9749
|
+
"kind": "amendment",
|
|
9750
|
+
"amends": "RL-0276",
|
|
9751
|
+
"amendment_reason": "The 1.59.0+agent.11 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0276 is otherwise unchanged.",
|
|
9752
|
+
"surface_version": null,
|
|
9753
|
+
"changelog_section": "1.59.0+agent.11",
|
|
9754
|
+
"changelog_sha256": "68cf1cc90720fb53626ca0ba18b09f94d842d09f49937912f44dea95979f5dd8",
|
|
9755
|
+
"agent_impact": "None. The 1.59.0+agent.11 section now opens with a summary paragraph; the changes RL-0276 records, and everything it says about them, stand as written.",
|
|
9756
|
+
"compatibility": "compatible",
|
|
9757
|
+
"migration": "none",
|
|
9758
|
+
"changes": [
|
|
9759
|
+
{
|
|
9760
|
+
"class": "documentation",
|
|
9761
|
+
"path": null,
|
|
9762
|
+
"surface_entry": "CHANGELOG.md",
|
|
9763
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.11 changelog section; the section bytes change, the entry it amends does not."
|
|
9764
|
+
}
|
|
9765
|
+
],
|
|
9766
|
+
"entry_sha256": "a1f319b383e2b001769bc263b93c0d3ed04741f80759471d6b714fbf557321b2"
|
|
9767
|
+
},
|
|
9768
|
+
{
|
|
9769
|
+
"id": "RL-0305",
|
|
9770
|
+
"sequence": 293,
|
|
9771
|
+
"date": "2026-10-24",
|
|
9772
|
+
"kind": "amendment",
|
|
9773
|
+
"amends": "RL-0275",
|
|
9774
|
+
"amendment_reason": "The 1.59.0+agent.10 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0275 is otherwise unchanged.",
|
|
9775
|
+
"surface_version": null,
|
|
9776
|
+
"changelog_section": "1.59.0+agent.10",
|
|
9777
|
+
"changelog_sha256": "f06ca5efaecf49c030a6b74942341bb4a3d5b490610ca1b7d4d7cd149b09ff91",
|
|
9778
|
+
"agent_impact": "None. The 1.59.0+agent.10 section now opens with a summary paragraph; the changes RL-0275 records, and everything it says about them, stand as written.",
|
|
9779
|
+
"compatibility": "compatible",
|
|
9780
|
+
"migration": "none",
|
|
9781
|
+
"changes": [
|
|
9782
|
+
{
|
|
9783
|
+
"class": "documentation",
|
|
9784
|
+
"path": null,
|
|
9785
|
+
"surface_entry": "CHANGELOG.md",
|
|
9786
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.10 changelog section; the section bytes change, the entry it amends does not."
|
|
9787
|
+
}
|
|
9788
|
+
],
|
|
9789
|
+
"entry_sha256": "d2b6cc5cec06b0201bd28be543c8dc26f1eda4cce80d0202686a35438ded5e1d"
|
|
9790
|
+
},
|
|
9791
|
+
{
|
|
9792
|
+
"id": "RL-0306",
|
|
9793
|
+
"sequence": 294,
|
|
9794
|
+
"date": "2026-10-24",
|
|
9795
|
+
"kind": "amendment",
|
|
9796
|
+
"amends": "RL-0274",
|
|
9797
|
+
"amendment_reason": "The 1.59.0+agent.8 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0274 is otherwise unchanged.",
|
|
9798
|
+
"surface_version": null,
|
|
9799
|
+
"changelog_section": "1.59.0+agent.8",
|
|
9800
|
+
"changelog_sha256": "53741122f9f4bff029290f0895dcaf8c3bf0ad3d08122c866b32e14ba0c30172",
|
|
9801
|
+
"agent_impact": "None. The 1.59.0+agent.8 section now opens with a summary paragraph; the changes RL-0274 records, and everything it says about them, stand as written.",
|
|
9802
|
+
"compatibility": "compatible",
|
|
9803
|
+
"migration": "none",
|
|
9804
|
+
"changes": [
|
|
9805
|
+
{
|
|
9806
|
+
"class": "documentation",
|
|
9807
|
+
"path": null,
|
|
9808
|
+
"surface_entry": "CHANGELOG.md",
|
|
9809
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.8 changelog section; the section bytes change, the entry it amends does not."
|
|
9810
|
+
}
|
|
9811
|
+
],
|
|
9812
|
+
"entry_sha256": "7eddcc548059f6c967aeabedb66b82768b6d17c74cfc95d6811d69d9d07c94f8"
|
|
9813
|
+
},
|
|
9814
|
+
{
|
|
9815
|
+
"id": "RL-0307",
|
|
9816
|
+
"sequence": 295,
|
|
9817
|
+
"date": "2026-10-24",
|
|
9818
|
+
"kind": "amendment",
|
|
9819
|
+
"amends": "RL-0272",
|
|
9820
|
+
"amendment_reason": "The 1.59.0+agent.7 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0272 is otherwise unchanged.",
|
|
9821
|
+
"surface_version": null,
|
|
9822
|
+
"changelog_section": "1.59.0+agent.7",
|
|
9823
|
+
"changelog_sha256": "1c40a51c1bffa89ddc3a1af8ddfd497797617c39e285a3e5901cc349044d7818",
|
|
9824
|
+
"agent_impact": "None. The 1.59.0+agent.7 section now opens with a summary paragraph; the changes RL-0272 records, and everything it says about them, stand as written.",
|
|
9825
|
+
"compatibility": "compatible",
|
|
9826
|
+
"migration": "none",
|
|
9827
|
+
"changes": [
|
|
9828
|
+
{
|
|
9829
|
+
"class": "documentation",
|
|
9830
|
+
"path": null,
|
|
9831
|
+
"surface_entry": "CHANGELOG.md",
|
|
9832
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.7 changelog section; the section bytes change, the entry it amends does not."
|
|
9833
|
+
}
|
|
9834
|
+
],
|
|
9835
|
+
"entry_sha256": "dbd86d414921da3d1134ba76a5d5c205683750c6e3e5d0477483f73f4dd31cf8"
|
|
9836
|
+
},
|
|
9837
|
+
{
|
|
9838
|
+
"id": "RL-0308",
|
|
9839
|
+
"sequence": 296,
|
|
9840
|
+
"date": "2026-10-24",
|
|
9841
|
+
"kind": "amendment",
|
|
9842
|
+
"amends": "RL-0271",
|
|
9843
|
+
"amendment_reason": "The 1.59.0+agent.5 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0271 is otherwise unchanged.",
|
|
9844
|
+
"surface_version": null,
|
|
9845
|
+
"changelog_section": "1.59.0+agent.5",
|
|
9846
|
+
"changelog_sha256": "7d6ddb073f430ebf7d2c70b0affaebaf183eb114403cad04f4740ae9e12c0df9",
|
|
9847
|
+
"agent_impact": "None. The 1.59.0+agent.5 section now opens with a summary paragraph; the changes RL-0271 records, and everything it says about them, stand as written.",
|
|
9848
|
+
"compatibility": "compatible",
|
|
9849
|
+
"migration": "none",
|
|
9850
|
+
"changes": [
|
|
9851
|
+
{
|
|
9852
|
+
"class": "documentation",
|
|
9853
|
+
"path": null,
|
|
9854
|
+
"surface_entry": "CHANGELOG.md",
|
|
9855
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.5 changelog section; the section bytes change, the entry it amends does not."
|
|
9856
|
+
}
|
|
9857
|
+
],
|
|
9858
|
+
"entry_sha256": "d824a4bc616390176ce6117c7c2903df7505bd4c8bb36cbcdc528da94d62bb3e"
|
|
9859
|
+
},
|
|
9860
|
+
{
|
|
9861
|
+
"id": "RL-0309",
|
|
9862
|
+
"sequence": 297,
|
|
9863
|
+
"date": "2026-10-24",
|
|
9864
|
+
"kind": "amendment",
|
|
9865
|
+
"amends": "RL-0273",
|
|
9866
|
+
"amendment_reason": "The 1.59.0+agent.4 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0273 is otherwise unchanged.",
|
|
9867
|
+
"surface_version": null,
|
|
9868
|
+
"changelog_section": "1.59.0+agent.4",
|
|
9869
|
+
"changelog_sha256": "842645813edaacc08319ea929356e31b750d0479cab9a979acf5bb095d5099f7",
|
|
9870
|
+
"agent_impact": "None. The 1.59.0+agent.4 section now opens with a summary paragraph; the changes RL-0273 records, and everything it says about them, stand as written.",
|
|
9871
|
+
"compatibility": "compatible",
|
|
9872
|
+
"migration": "none",
|
|
9873
|
+
"changes": [
|
|
9874
|
+
{
|
|
9875
|
+
"class": "documentation",
|
|
9876
|
+
"path": null,
|
|
9877
|
+
"surface_entry": "CHANGELOG.md",
|
|
9878
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0+agent.4 changelog section; the section bytes change, the entry it amends does not."
|
|
9879
|
+
}
|
|
9880
|
+
],
|
|
9881
|
+
"entry_sha256": "3c86339dbb6d472ed5294c1836a2a9b97ad4b32c02a2b67a025a9d5169cacc65"
|
|
9882
|
+
},
|
|
9883
|
+
{
|
|
9884
|
+
"id": "RL-0310",
|
|
9885
|
+
"sequence": 298,
|
|
9886
|
+
"date": "2026-10-24",
|
|
9887
|
+
"kind": "amendment",
|
|
9888
|
+
"amends": "RL-0268",
|
|
9889
|
+
"amendment_reason": "The 1.59.0 section gained a short plain-language summary above its existing content, for readers skimming the changelog. Its heading, date and bullets are unchanged. This amendment carries the section's new hash; RL-0268 is otherwise unchanged.",
|
|
9890
|
+
"surface_version": null,
|
|
9891
|
+
"changelog_section": "1.59.0",
|
|
9892
|
+
"changelog_sha256": "3df95b7dfbb190b6190c0265ec8edf0b0cc1ae59be3a1332185cc38ed2dbc475",
|
|
9893
|
+
"agent_impact": "None. The 1.59.0 section now opens with a summary paragraph; the changes RL-0268 records, and everything it says about them, stand as written.",
|
|
9894
|
+
"compatibility": "compatible",
|
|
9895
|
+
"migration": "none",
|
|
9896
|
+
"changes": [
|
|
9897
|
+
{
|
|
9898
|
+
"class": "documentation",
|
|
9899
|
+
"path": null,
|
|
9900
|
+
"surface_entry": "CHANGELOG.md",
|
|
9901
|
+
"summary": "Add a plain-language summary at the top of the 1.59.0 changelog section; the section bytes change, the entry it amends does not."
|
|
9902
|
+
}
|
|
9903
|
+
],
|
|
9904
|
+
"entry_sha256": "c8d911144e956c791867afb9cc014bbbbf54be8e3faee6448bafea4a588f618c"
|
|
9905
|
+
},
|
|
9906
|
+
{
|
|
9907
|
+
"id": "RL-0311",
|
|
9908
|
+
"sequence": 299,
|
|
9909
|
+
"date": "2026-10-29",
|
|
9910
|
+
"kind": "release",
|
|
9911
|
+
"surface_version": null,
|
|
9912
|
+
"changelog_section": "1.61.0+agent.2",
|
|
9913
|
+
"changelog_sha256": "077018155e9017725a3f64c0e0158a6dae9dc3381eb8869fcccbc943a22d3458",
|
|
9914
|
+
"agent_impact": "An agent running next-campaigns-sdk-bump checks step 3's known-changes table for each version the range crosses. For 0.4.32 it prefers the SDK's dl_purchase; a purchase capture that stays hand-wired moves off the checkout page to the first page after checkout, reads the order's ?ref_id=, sends once per order, and step 6 reloads that page once with beacons blocked to prove it; it never re-adds an order:completed listener there. For 0.4.41 it confirms the campaign has a payment key and removes or ports the page's own Spreedly iframe script, Spreedly-global calls and v1 frame selectors in the same commit as the pin move. For 0.4.43 it checks Shop Pay, and it rebuilds or removes a hand-written modulepreload list of SDK files. For a 3-D Secure order it uses the card in docs/qa-and-test-orders.md after the developer confirms the gateway is in test mode. sdk storage-check now inventories only the tracked files under --scope, so it runs on large repositories; the old 'Cannot inventory tracked Git source files.' failure means the pinned install is npm 1.61.0 or earlier and is fixed by updating the pin. The inventory failure now reads 'Cannot inventory tracked Git source files: <reason>'; an agent matching the old exact text should match the prefix. Re-run tooling status --skills-revision 1.61.0+skills.2 and start a fresh session on mismatch.",
|
|
9915
|
+
"compatibility": "compatible",
|
|
9916
|
+
"migration": "none",
|
|
9917
|
+
"changes": [
|
|
9918
|
+
{
|
|
9919
|
+
"class": "skill",
|
|
9920
|
+
"path": "skills.json",
|
|
9921
|
+
"surface_entry": "skills.json",
|
|
9922
|
+
"summary": "Advance bundle revision to 1.61.0+skills.2 and each skill version one patch."
|
|
9923
|
+
},
|
|
9924
|
+
{
|
|
9925
|
+
"class": "skill",
|
|
9926
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
9927
|
+
"surface_entry": null,
|
|
9928
|
+
"summary": "Add the known-changes table (0.4.32 purchase capture with once-per-order sends, 0.4.41 Spreedly hosted fields, 0.4.42, 0.4.43, modulepreload), the 3-D Secure test card, a purchase replay check in step 6, and the update-the-pin answer to the old storage-check failure."
|
|
9929
|
+
},
|
|
9930
|
+
{
|
|
9931
|
+
"class": "skill",
|
|
9932
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
9933
|
+
"surface_entry": null,
|
|
9934
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9935
|
+
},
|
|
9936
|
+
{
|
|
9937
|
+
"class": "skill",
|
|
9938
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
9939
|
+
"surface_entry": null,
|
|
9940
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9941
|
+
},
|
|
9942
|
+
{
|
|
9943
|
+
"class": "skill",
|
|
9944
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
9945
|
+
"surface_entry": null,
|
|
9946
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9947
|
+
},
|
|
9948
|
+
{
|
|
9949
|
+
"class": "skill",
|
|
9950
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
9951
|
+
"surface_entry": null,
|
|
9952
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9953
|
+
},
|
|
9954
|
+
{
|
|
9955
|
+
"class": "skill",
|
|
9956
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
9957
|
+
"surface_entry": null,
|
|
9958
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9959
|
+
},
|
|
9960
|
+
{
|
|
9961
|
+
"class": "skill",
|
|
9962
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
9963
|
+
"surface_entry": null,
|
|
9964
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9965
|
+
},
|
|
9966
|
+
{
|
|
9967
|
+
"class": "skill",
|
|
9968
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
9969
|
+
"surface_entry": null,
|
|
9970
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9971
|
+
},
|
|
9972
|
+
{
|
|
9973
|
+
"class": "skill",
|
|
9974
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
9975
|
+
"surface_entry": null,
|
|
9976
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9977
|
+
},
|
|
9978
|
+
{
|
|
9979
|
+
"class": "skill",
|
|
9980
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
9981
|
+
"surface_entry": null,
|
|
9982
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
9983
|
+
},
|
|
9984
|
+
{
|
|
9985
|
+
"class": "named_surface",
|
|
9986
|
+
"path": "docs/skills-revision.md",
|
|
9987
|
+
"surface_entry": "docs/skills-revision.md",
|
|
9988
|
+
"summary": "Update current bundle revision examples to 1.61.0+skills.2."
|
|
9989
|
+
},
|
|
9990
|
+
{
|
|
9991
|
+
"class": "named_surface",
|
|
9992
|
+
"path": "docs/sdk-storage-compatibility.md",
|
|
9993
|
+
"surface_entry": "docs/sdk-storage-compatibility.md",
|
|
9994
|
+
"summary": "Describe the scoped tracked-file inventory and the new 'Cannot inventory tracked Git source files: <reason>' error."
|
|
9995
|
+
}
|
|
9996
|
+
],
|
|
9997
|
+
"entry_sha256": "61bdc9a4d654769cbd5b3a4695c81783f607bf00d5121c048249726d475aeccc"
|
|
9998
|
+
},
|
|
9999
|
+
{
|
|
10000
|
+
"id": "RL-0312",
|
|
10001
|
+
"sequence": 300,
|
|
10002
|
+
"date": "2026-10-30",
|
|
10003
|
+
"kind": "release",
|
|
10004
|
+
"surface_version": "1.62.0",
|
|
10005
|
+
"changelog_section": "1.62.0",
|
|
10006
|
+
"changelog_sha256": "ee78768231befe6d8c6d5c555a3c603312e4c0153d4bb7a4e952d0f17842e4b4",
|
|
10007
|
+
"agent_impact": "In a Page Kit project with more than one funnel, an agent passes --packet campaign-runtime-<route>.build.json for a later funnel; that funnel's records live under .campaign-runtime/funnels/<route>/ (assembly.runtime_dir), readback without --packet refuses across funnels, and prepare-build refuses to replace another route's packet unless the operator agrees to --force. After deploy or QA has completed, spec derive adds and removes pages from the page tree, re-points the routing and routing hints on the edges that name them, holds a same-type file swap as page_renamed, reports an added page's packages as page_packages_not_derived (author them before doctor's CheckoutPathHasPackages / UpsellHasPackages pass), and refreshes mirrored package and offer fields from one read-only GET /api/campaign (--no-live-refs skips it); doctor blocks a stale routing hint as spec.routing_hint_stale. For a change that touches only some pages' HTML, readback's evidence_debt marks Polish advisory and QA scoped to the changed pages, and qa run --page <id> pays it without test orders. CampaignSpec validation adds CheckoutPathHasPackages (an error for a checkout path nothing sells into) and CampaignCurrencies (malformed ISO codes), and the spec carries analytics.vendors.<vendor>, which spec derive fills from campaigns.json id keys and doctor compares (page_kit.analytics_vendors, advisory). qa run --test-order answers listed vendors' beacons locally by default and records the requests as browser-test-order:vendor-beacons evidence, never purchase proof; --vendor-beacons live sends them. qa run --currency now blocks when an order or the calculate endpoint comes back in another currency. Polish warns layout.conventions for crowded floating CTA bars and CTA labels under 16px. A live lock from another Campaigns OS release is refused at once with ELOCKFORMAT. Refresh skills to 1.62.0+skills.1.",
|
|
10008
|
+
"compatibility": "additive",
|
|
10009
|
+
"migration": "none",
|
|
10010
|
+
"changes": [
|
|
10011
|
+
{
|
|
10012
|
+
"class": "documentation",
|
|
10013
|
+
"path": "AGENTS.md",
|
|
10014
|
+
"surface_entry": "AGENTS.md",
|
|
10015
|
+
"summary": "A --flag=value token, which every command refuses, skips the stale-session closeout that otherwise precedes argument refusal."
|
|
10016
|
+
},
|
|
10017
|
+
{
|
|
10018
|
+
"class": "documentation",
|
|
10019
|
+
"path": "agents/claude/CLAUDE.md",
|
|
10020
|
+
"surface_entry": "agents/claude/CLAUDE.md",
|
|
10021
|
+
"summary": "Revising a live campaign names the page-scoped QA path (qa run --page) for a page-only change."
|
|
10022
|
+
},
|
|
10023
|
+
{
|
|
10024
|
+
"class": "documentation",
|
|
10025
|
+
"path": "agents/codex/AGENTS.md",
|
|
10026
|
+
"surface_entry": "agents/codex/AGENTS.md",
|
|
10027
|
+
"summary": "Revising a live campaign names the page-scoped QA path (qa run --page) for a page-only change."
|
|
10028
|
+
},
|
|
10029
|
+
{
|
|
10030
|
+
"class": "documentation",
|
|
10031
|
+
"path": "agents/copilot/copilot-instructions.md",
|
|
10032
|
+
"surface_entry": "agents/copilot/copilot-instructions.md",
|
|
10033
|
+
"summary": "Revising a live campaign names the page-scoped QA path (qa run --page) for a page-only change."
|
|
10034
|
+
},
|
|
10035
|
+
{
|
|
10036
|
+
"class": "documentation",
|
|
10037
|
+
"path": "agents/cursor/campaigns-os.mdc",
|
|
10038
|
+
"surface_entry": "agents/cursor/campaigns-os.mdc",
|
|
10039
|
+
"summary": "Revising a live campaign names the page-scoped QA path (qa run --page) for a page-only change."
|
|
10040
|
+
},
|
|
10041
|
+
{
|
|
10042
|
+
"class": "generated_runtime",
|
|
10043
|
+
"path": "campaign-spec/analytics-vendors.ts",
|
|
10044
|
+
"surface_entry": null,
|
|
10045
|
+
"summary": "New registry of the starter templates' analytics vendors (ANALYTICS_VENDORS, analyticsVendorByKey, isPlaceholderVendorId)."
|
|
10046
|
+
},
|
|
10047
|
+
{
|
|
10048
|
+
"class": "generated_runtime",
|
|
10049
|
+
"path": "campaign-spec/checkout-flow.ts",
|
|
10050
|
+
"surface_entry": null,
|
|
10051
|
+
"summary": "New isMainCartPackage and sellsMainCartPackage helpers for the main-cart entry contract."
|
|
10052
|
+
},
|
|
10053
|
+
{
|
|
10054
|
+
"class": "generated_runtime",
|
|
10055
|
+
"path": "campaign-spec/index.ts",
|
|
10056
|
+
"surface_entry": null,
|
|
10057
|
+
"summary": "Exports the vendor registry, the main-cart helpers and the two new rules."
|
|
10058
|
+
},
|
|
10059
|
+
{
|
|
10060
|
+
"class": "generated_runtime",
|
|
10061
|
+
"path": "campaign-spec/rules/analytics-contract-shape.ts",
|
|
10062
|
+
"surface_entry": null,
|
|
10063
|
+
"summary": "AnalyticsContractShape warns on unknown vendors, enabled vendors without an id, and non-array event lists."
|
|
10064
|
+
},
|
|
10065
|
+
{
|
|
10066
|
+
"class": "generated_runtime",
|
|
10067
|
+
"path": "campaign-spec/rules/campaign-currencies.ts",
|
|
10068
|
+
"surface_entry": null,
|
|
10069
|
+
"summary": "New CampaignCurrencies rule: ISO 4217 codes for campaign.currency and available_currencies; default missing from the list warns."
|
|
10070
|
+
},
|
|
10071
|
+
{
|
|
10072
|
+
"class": "generated_runtime",
|
|
10073
|
+
"path": "campaign-spec/rules/checkout-path-has-packages.ts",
|
|
10074
|
+
"surface_entry": null,
|
|
10075
|
+
"summary": "New CheckoutPathHasPackages rule: every entry-to-Checkout path passes a page with a main-cart package entry."
|
|
10076
|
+
},
|
|
10077
|
+
{
|
|
10078
|
+
"class": "generated_runtime",
|
|
10079
|
+
"path": "campaign-spec/rules/index.ts",
|
|
10080
|
+
"surface_entry": null,
|
|
10081
|
+
"summary": "Registers CampaignCurrencies and CheckoutPathHasPackages in the rule sets."
|
|
10082
|
+
},
|
|
10083
|
+
{
|
|
10084
|
+
"class": "generated_runtime",
|
|
10085
|
+
"path": "campaign-spec/tsconfig.build.json",
|
|
10086
|
+
"surface_entry": null,
|
|
10087
|
+
"summary": "Builds the new analytics-vendors module into campaign-spec/dist."
|
|
10088
|
+
},
|
|
10089
|
+
{
|
|
10090
|
+
"class": "generated_runtime",
|
|
10091
|
+
"path": "campaign-spec/types.ts",
|
|
10092
|
+
"surface_entry": null,
|
|
10093
|
+
"summary": "AnalyticsContract gains vendors and enabled; new AnalyticsVendor types."
|
|
10094
|
+
},
|
|
10095
|
+
{
|
|
10096
|
+
"class": "compatibility_policy",
|
|
10097
|
+
"path": "compatibility.json",
|
|
10098
|
+
"surface_entry": null,
|
|
10099
|
+
"summary": "Version advances to 1.62.0."
|
|
10100
|
+
},
|
|
10101
|
+
{
|
|
10102
|
+
"class": "compatibility_policy",
|
|
10103
|
+
"path": "contracts/effects.v1.json",
|
|
10104
|
+
"surface_entry": "contracts/effects.v1.json",
|
|
10105
|
+
"summary": "Per-funnel write locations ({runtime}, {packet-runtime}); spec derive declares its live campaign read and --no-live-refs; record spec declares page rebind writes; qa run --test-order answers vendor beacons locally, with new --vendor-beacons live rows; qa run notes name --page."
|
|
10106
|
+
},
|
|
10107
|
+
{
|
|
10108
|
+
"class": "named_surface",
|
|
10109
|
+
"path": "contracts/fixtures/runtime-recipe/accept/current.json",
|
|
10110
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/accept/current.json",
|
|
10111
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10112
|
+
},
|
|
10113
|
+
{
|
|
10114
|
+
"class": "named_surface",
|
|
10115
|
+
"path": "contracts/fixtures/runtime-recipe/accept/minimal.json",
|
|
10116
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/accept/minimal.json",
|
|
10117
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10118
|
+
},
|
|
10119
|
+
{
|
|
10120
|
+
"class": "named_surface",
|
|
10121
|
+
"path": "contracts/fixtures/runtime-recipe/dist-states.json",
|
|
10122
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/dist-states.json",
|
|
10123
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10124
|
+
},
|
|
10125
|
+
{
|
|
10126
|
+
"class": "named_surface",
|
|
10127
|
+
"path": "contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json",
|
|
10128
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json",
|
|
10129
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10130
|
+
},
|
|
10131
|
+
{
|
|
10132
|
+
"class": "named_surface",
|
|
10133
|
+
"path": "contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json",
|
|
10134
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json",
|
|
10135
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10136
|
+
},
|
|
10137
|
+
{
|
|
10138
|
+
"class": "named_surface",
|
|
10139
|
+
"path": "contracts/fixtures/runtime-recipe/reject/committed-output-claim.json",
|
|
10140
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/committed-output-claim.json",
|
|
10141
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10142
|
+
},
|
|
10143
|
+
{
|
|
10144
|
+
"class": "named_surface",
|
|
10145
|
+
"path": "contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json",
|
|
10146
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json",
|
|
10147
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10148
|
+
},
|
|
10149
|
+
{
|
|
10150
|
+
"class": "named_surface",
|
|
10151
|
+
"path": "contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json",
|
|
10152
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json",
|
|
10153
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10154
|
+
},
|
|
10155
|
+
{
|
|
10156
|
+
"class": "named_surface",
|
|
10157
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-kind.json",
|
|
10158
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-kind.json",
|
|
10159
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10160
|
+
},
|
|
10161
|
+
{
|
|
10162
|
+
"class": "named_surface",
|
|
10163
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json",
|
|
10164
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json",
|
|
10165
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10166
|
+
},
|
|
10167
|
+
{
|
|
10168
|
+
"class": "named_surface",
|
|
10169
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-output-check.json",
|
|
10170
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-output-check.json",
|
|
10171
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10172
|
+
},
|
|
10173
|
+
{
|
|
10174
|
+
"class": "named_surface",
|
|
10175
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-revision.json",
|
|
10176
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-revision.json",
|
|
10177
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10178
|
+
},
|
|
10179
|
+
{
|
|
10180
|
+
"class": "named_surface",
|
|
10181
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unknown-step-id.json",
|
|
10182
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unknown-step-id.json",
|
|
10183
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10184
|
+
},
|
|
10185
|
+
{
|
|
10186
|
+
"class": "named_surface",
|
|
10187
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json",
|
|
10188
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json",
|
|
10189
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10190
|
+
},
|
|
10191
|
+
{
|
|
10192
|
+
"class": "named_surface",
|
|
10193
|
+
"path": "contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json",
|
|
10194
|
+
"surface_entry": "contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json",
|
|
10195
|
+
"summary": "Regenerated with the three new recipe inputs."
|
|
10196
|
+
},
|
|
10197
|
+
{
|
|
10198
|
+
"class": "hashed_surface",
|
|
10199
|
+
"path": "contracts/runtime-recipe.campaigns-os-node-v1.json",
|
|
10200
|
+
"surface_entry": "contracts/runtime-recipe.campaigns-os-node-v1.json",
|
|
10201
|
+
"summary": "Inputs gain campaign-spec/analytics-vendors.ts, campaign-spec/rules/campaign-currencies.ts and campaign-spec/rules/checkout-path-has-packages.ts."
|
|
10202
|
+
},
|
|
10203
|
+
{
|
|
10204
|
+
"class": "compatibility_policy",
|
|
10205
|
+
"path": "contracts/supported-surface.json",
|
|
10206
|
+
"surface_entry": "contracts/supported-surface.json",
|
|
10207
|
+
"summary": "surface_version 1.62.0 and refreshed hashes for the two runtime schemas, both CampaignSpec schemas, the readback schema and the effects contract."
|
|
10208
|
+
},
|
|
10209
|
+
{
|
|
10210
|
+
"class": "named_surface",
|
|
10211
|
+
"path": "docs/build-packet.md",
|
|
10212
|
+
"surface_entry": "docs/build-packet.md",
|
|
10213
|
+
"summary": "Several funnels in one project, spec derive after handoff (pages, routing, rename hold, page_packages_not_derived, live mirror refresh), record spec page rebinds, template analytics vendors."
|
|
10214
|
+
},
|
|
10215
|
+
{
|
|
10216
|
+
"class": "named_surface",
|
|
10217
|
+
"path": "docs/campaign-standardization-report.md",
|
|
10218
|
+
"surface_entry": "docs/campaign-standardization-report.md",
|
|
10219
|
+
"summary": "standardize refuses --flag=value like every command, before it reads anything."
|
|
10220
|
+
},
|
|
10221
|
+
{
|
|
10222
|
+
"class": "named_surface",
|
|
10223
|
+
"path": "docs/campaigns-os-build-flow.md",
|
|
10224
|
+
"surface_entry": "docs/campaigns-os-build-flow.md",
|
|
10225
|
+
"summary": "Page-only changes owe QA on the changed pages, with Polish advisory."
|
|
10226
|
+
},
|
|
10227
|
+
{
|
|
10228
|
+
"class": "named_surface",
|
|
10229
|
+
"path": "docs/design-source-package.md",
|
|
10230
|
+
"surface_entry": "docs/design-source-package.md",
|
|
10231
|
+
"summary": "Lock format, immediate refusal of another release's live lock, abandoned-directory sweep, unreadable lock path."
|
|
10232
|
+
},
|
|
10233
|
+
{
|
|
10234
|
+
"class": "named_surface",
|
|
10235
|
+
"path": "docs/effects.md",
|
|
10236
|
+
"surface_entry": "docs/effects.md",
|
|
10237
|
+
"summary": "New location tokens, spec derive's live campaign read and tiers, the --vendor-beacons flag and its refusals, and the record spec rebind rule."
|
|
10238
|
+
},
|
|
10239
|
+
{
|
|
10240
|
+
"class": "named_surface",
|
|
10241
|
+
"path": "docs/local-setup.md",
|
|
10242
|
+
"surface_entry": "docs/local-setup.md",
|
|
10243
|
+
"summary": "Install pins @nextcommerce/campaigns-os@1.62.0."
|
|
10244
|
+
},
|
|
10245
|
+
{
|
|
10246
|
+
"class": "documentation",
|
|
10247
|
+
"path": "docs/orientation-contract-reference.md",
|
|
10248
|
+
"surface_entry": "docs/orientation-contract-reference.md",
|
|
10249
|
+
"summary": "Regenerated at supported surface 1.62.0."
|
|
10250
|
+
},
|
|
10251
|
+
{
|
|
10252
|
+
"class": "named_surface",
|
|
10253
|
+
"path": "docs/progress-snapshots.md",
|
|
10254
|
+
"surface_entry": "docs/progress-snapshots.md",
|
|
10255
|
+
"summary": "The progress allocation lock follows the same lock-format rules."
|
|
10256
|
+
},
|
|
10257
|
+
{
|
|
10258
|
+
"class": "named_surface",
|
|
10259
|
+
"path": "docs/qa-and-test-orders.md",
|
|
10260
|
+
"surface_entry": "docs/qa-and-test-orders.md",
|
|
10261
|
+
"summary": "Analytics vendor beacons, --currency blockers, page-scoped QA with --page, per-funnel QA sidecars."
|
|
10262
|
+
},
|
|
10263
|
+
{
|
|
10264
|
+
"class": "named_surface",
|
|
10265
|
+
"path": "docs/readback.md",
|
|
10266
|
+
"surface_entry": "docs/readback.md",
|
|
10267
|
+
"summary": "Readback refuses across funnels without --packet; evidence_debt change, advisory, scope and owed_pages."
|
|
10268
|
+
},
|
|
10269
|
+
{
|
|
10270
|
+
"class": "named_surface",
|
|
10271
|
+
"path": "docs/runtime-readiness.md",
|
|
10272
|
+
"surface_entry": "docs/runtime-readiness.md",
|
|
10273
|
+
"summary": "Regenerated at supported surface 1.62.0 with the three new recipe inputs."
|
|
10274
|
+
},
|
|
10275
|
+
{
|
|
10276
|
+
"class": "named_surface",
|
|
10277
|
+
"path": "docs/skills-revision.md",
|
|
10278
|
+
"surface_entry": "docs/skills-revision.md",
|
|
10279
|
+
"summary": "Examples name bundle revision 1.62.0+skills.1."
|
|
10280
|
+
},
|
|
10281
|
+
{
|
|
10282
|
+
"class": "generated_runtime",
|
|
10283
|
+
"path": "package-lock.json",
|
|
10284
|
+
"surface_entry": null,
|
|
10285
|
+
"summary": "Version advances to 1.62.0."
|
|
10286
|
+
},
|
|
10287
|
+
{
|
|
10288
|
+
"class": "package_export",
|
|
10289
|
+
"path": "package.json",
|
|
10290
|
+
"surface_entry": null,
|
|
10291
|
+
"summary": "Version advances to 1.62.0."
|
|
10292
|
+
},
|
|
10293
|
+
{
|
|
10294
|
+
"class": "schema",
|
|
10295
|
+
"path": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
10296
|
+
"surface_entry": "schemas/campaign-runtime-build-context.v0.schema.json",
|
|
10297
|
+
"summary": "New spec.route_masked_material_hash and page_map[].origin (repo)."
|
|
10298
|
+
},
|
|
10299
|
+
{
|
|
10300
|
+
"class": "schema",
|
|
10301
|
+
"path": "schemas/campaign-runtime-build-packet.v0.schema.json",
|
|
10302
|
+
"surface_entry": "schemas/campaign-runtime-build-packet.v0.schema.json",
|
|
10303
|
+
"summary": "New optional assembly.runtime_dir and source_html.pages[].origin (repo)."
|
|
10304
|
+
},
|
|
10305
|
+
{
|
|
10306
|
+
"class": "schema",
|
|
10307
|
+
"path": "schemas/campaign-spec.v4.schema.json",
|
|
10308
|
+
"surface_entry": "schemas/campaign-spec.v4.schema.json",
|
|
10309
|
+
"summary": "analytics.vendors.<vendor>; currency and available_currencies ownership; is_upsell on upsell and downsell pages (descriptions)."
|
|
10310
|
+
},
|
|
10311
|
+
{
|
|
10312
|
+
"class": "schema",
|
|
10313
|
+
"path": "schemas/campaign-spec.v5.schema.json",
|
|
10314
|
+
"surface_entry": "schemas/campaign-spec.v5.schema.json",
|
|
10315
|
+
"summary": "analytics.vendors.<vendor>; currency and available_currencies ownership; is_upsell on upsell and downsell pages (descriptions)."
|
|
10316
|
+
},
|
|
10317
|
+
{
|
|
10318
|
+
"class": "schema",
|
|
10319
|
+
"path": "schemas/campaigns-os-readback.v2.schema.json",
|
|
10320
|
+
"surface_entry": "schemas/campaigns-os-readback.v2.schema.json",
|
|
10321
|
+
"summary": "evidence_debt stages gain change, advisory, scope and owed_pages."
|
|
10322
|
+
},
|
|
10323
|
+
{
|
|
10324
|
+
"class": "skill",
|
|
10325
|
+
"path": "skills.json",
|
|
10326
|
+
"surface_entry": "skills.json",
|
|
10327
|
+
"summary": "Advance bundle revision to 1.62.0+skills.1 and each skill version one patch."
|
|
10328
|
+
},
|
|
10329
|
+
{
|
|
10330
|
+
"class": "skill",
|
|
10331
|
+
"path": "skills/campaign-lifecycle-orientation/SKILL.md",
|
|
10332
|
+
"surface_entry": null,
|
|
10333
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
10334
|
+
},
|
|
10335
|
+
{
|
|
10336
|
+
"class": "skill",
|
|
10337
|
+
"path": "skills/campaign-readback-classification/SKILL.md",
|
|
10338
|
+
"surface_entry": null,
|
|
10339
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
10340
|
+
},
|
|
10341
|
+
{
|
|
10342
|
+
"class": "skill",
|
|
10343
|
+
"path": "skills/campaign-run-evidence/SKILL.md",
|
|
10344
|
+
"surface_entry": null,
|
|
10345
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
10346
|
+
},
|
|
10347
|
+
{
|
|
10348
|
+
"class": "skill",
|
|
10349
|
+
"path": "skills/contribution-intake/SKILL.md",
|
|
10350
|
+
"surface_entry": null,
|
|
10351
|
+
"summary": "Carry the advanced bundle revision and matching per-skill version."
|
|
10352
|
+
},
|
|
10353
|
+
{
|
|
10354
|
+
"class": "skill",
|
|
10355
|
+
"path": "skills/next-campaigns-build/SKILL.md",
|
|
10356
|
+
"surface_entry": null,
|
|
10357
|
+
"summary": "Builds in a multi-funnel project read and write the funnel's own records."
|
|
10358
|
+
},
|
|
10359
|
+
{
|
|
10360
|
+
"class": "skill",
|
|
10361
|
+
"path": "skills/next-campaigns-os-setup/SKILL.md",
|
|
10362
|
+
"surface_entry": null,
|
|
10363
|
+
"summary": "Setting up a second funnel: the Funnel: line, the rename steps, and asking before --force."
|
|
10364
|
+
},
|
|
10365
|
+
{
|
|
10366
|
+
"class": "skill",
|
|
10367
|
+
"path": "skills/next-campaigns-os/SKILL.md",
|
|
10368
|
+
"surface_entry": null,
|
|
10369
|
+
"summary": "Per-funnel records, spec derive after handoff, and the page-only exception to full Polish and QA after launch."
|
|
10370
|
+
},
|
|
10371
|
+
{
|
|
10372
|
+
"class": "skill",
|
|
10373
|
+
"path": "skills/next-campaigns-polish/SKILL.md",
|
|
10374
|
+
"surface_entry": null,
|
|
10375
|
+
"summary": "Report layout.conventions warnings and accept them with checkpoint accept; read a later funnel's brief and report under its runtime directory."
|
|
10376
|
+
},
|
|
10377
|
+
{
|
|
10378
|
+
"class": "skill",
|
|
10379
|
+
"path": "skills/next-campaigns-qa/SKILL.md",
|
|
10380
|
+
"surface_entry": null,
|
|
10381
|
+
"summary": "Default vendor-beacon interception, the --currency blockers, page-scoped QA with --page and its refusals, and a later funnel's brief and report paths."
|
|
10382
|
+
},
|
|
10383
|
+
{
|
|
10384
|
+
"class": "skill",
|
|
10385
|
+
"path": "skills/next-campaigns-sdk-bump/SKILL.md",
|
|
10386
|
+
"surface_entry": null,
|
|
10387
|
+
"summary": "Step 6 says qa run --test-order blocks the listed vendors' beacons by default and that --currency blocks a run in another currency."
|
|
10388
|
+
},
|
|
10389
|
+
{
|
|
10390
|
+
"class": "cli_surface",
|
|
10391
|
+
"path": "src/cli.mjs",
|
|
10392
|
+
"surface_entry": null,
|
|
10393
|
+
"summary": "prepare-build per-funnel packets and the --force rename; readback and tooling status across funnels; spec derive --no-live-refs and page scope; qa run --page and --vendor-beacons live in usage; every command refuses a --flag=value token, naming the flag and never the value."
|
|
10394
|
+
},
|
|
10395
|
+
{
|
|
10396
|
+
"class": "cli_surface",
|
|
10397
|
+
"path": "src/doctor/checks.mjs",
|
|
10398
|
+
"surface_entry": null,
|
|
10399
|
+
"summary": "New page_kit.analytics_vendors advisory and blocking spec.routing_hint_stale; per-funnel sidecar paths."
|
|
10400
|
+
},
|
|
10401
|
+
{
|
|
10402
|
+
"class": "cli_surface",
|
|
10403
|
+
"path": "src/doctor/ci.mjs",
|
|
10404
|
+
"surface_entry": null,
|
|
10405
|
+
"summary": "doctor --ci names the change found and what each stage owes; page-only changes count QA on the changed pages; an up-front argv refusal under --ci is a usage error (doctor.ci.usage, exit 2)."
|
|
10406
|
+
},
|
|
10407
|
+
{
|
|
10408
|
+
"class": "cli_surface",
|
|
10409
|
+
"path": "src/doctor/inspect.mjs",
|
|
10410
|
+
"surface_entry": null,
|
|
10411
|
+
"summary": "Doctor reads the funnel's own records from the packet's runtime directory."
|
|
10412
|
+
},
|
|
10413
|
+
{
|
|
10414
|
+
"class": "cli_surface",
|
|
10415
|
+
"path": "src/doctor/next-step.mjs",
|
|
10416
|
+
"surface_entry": null,
|
|
10417
|
+
"summary": "next treats an advisory Polish as not required."
|
|
10418
|
+
}
|
|
10419
|
+
],
|
|
10420
|
+
"entry_sha256": "34151f9822332d3b3e122b637a8d49095fcfd192529bffb26fa923016d1367d5"
|
|
8654
10421
|
}
|
|
8655
10422
|
]
|
|
8656
10423
|
}
|