Skip to content

The pin moves to rc.21, and the four Group 2 expectations move with it - #103

Closed
BTCBoyd wants to merge 2 commits into
masterfrom
bump/rc21-pin-and-expectations
Closed

The pin moves to rc.21, and the four Group 2 expectations move with it#103
BTCBoyd wants to merge 2 commits into
masterfrom
bump/rc21-pin-and-expectations

Conversation

@BTCBoyd

@BTCBoyd BTCBoyd commented Aug 23, 2026

Copy link
Copy Markdown
Member

One commit, because they cannot land separately. Measured: with the expectations changed and the lockfile still at rc.12, verify-published-credentials returns 1, because rc.12 cannot verify the four. An expectation is a statement about the version being run, so it moves when the version does.

The four

before after
allow false true
reasonContains (op.evaluation.verdict.v3); the record states construction op.evaluation.verdict.v4 signature verifies over the payload this build rebuilds (op.evaluation.verdict.v4)
knownIssue VERDICT-PAYLOAD-VERSION-PIN removed

ppp-verdict-released, ppp-verdict-denied-ceiling, ppp-probe-a-verdict-release-above-escalation, ppp-probe-b-verdict-release-above-ceiling.

The expectations changed because the version at latest changed, not because the engine changed. The records are signed under v4 and were always sound. rc.12 rebuilds v3 and cannot verify them; rc.21 rebuilds v4 and does. Nothing about the artifacts moved.

The reasonContains strings named both version tokens deliberately so the pin could not move in either direction without turning this check red. It moved, the check went red, and this is the answer — the control working, not a finding about the engine.

Population searched

Every tracked file, dist/ excluded, grepped for the package name adjacent to a semver, plus every data-engine-version="current" span in tracked HTML.

scripts/package.json rc.12 → rc.21
scripts/package-lock.json rc.12 → rc.21
eight current spans verify.html 3, index.html 2, docs.html 2, check.html 1

Eight, not the five the earlier survey found. That survey excluded verify.html's three as parked; they are on master now, so the population grew by exactly those three. Not a correction to the earlier count — the same method over a population that changed underneath it.

A ninth thing, which no instrument found

verify-samples/README.md said "scripts/package.json still pins 1.0.0-rc.12 … and credential-expectations.json still records the four allow:false outcomes." This commit falsifies that paragraph. Rewritten here.

sentences-at-risk.mjs was run before committing and found nothing — correctly and uselessly. It keys off results/ values, and this change moves a pin and eight spans, touching no results/ file. The README paragraph is Markdown, which it does not read at all. Its scope is one class of change and this is a different one.

Verified, not predicted

13/13 checks green with this branch merged into #101's content locally. sync-engine-version goes from 1 to 0 — it was the only thing failing on #101.

This branch alone leaves check-measured-figures red, for #101's reasons: the stale npmLatest in results/ and the two section-02 markers. Those are #101's to fix and it does.

The pre-push hook caught this

It refused the first push: four pages moved their git dates and the sitemap was stale. Regenerated in its own commit. First time that hook has stopped a real push rather than a probe.

ONE COMMIT, because they cannot land separately. Measured, not assumed: with the
expectations changed and the lockfile still at rc.12, verify-published-credentials
returns 1, because rc.12 cannot verify the four. An expectation is a statement
about the version being run, so it moves when the version does.

THE FOUR

  verify-samples/ppp-verdict-released.json
  verify-samples/ppp-verdict-denied-ceiling.json
  verify-samples/ppp-probe-a-verdict-release-above-escalation.json
  verify-samples/ppp-probe-b-verdict-release-above-ceiling.json

  before  allow: false
          reasonContains "(op.evaluation.verdict.v3); the record states
                          construction op.evaluation.verdict.v4"
          knownIssue     VERDICT-PAYLOAD-VERSION-PIN
  after   allow: true
          reasonContains "signature verifies over the payload this build
                          rebuilds (op.evaluation.verdict.v4)"
          knownIssue     removed

THE EXPECTATIONS CHANGED BECAUSE THE VERSION AT latest CHANGED, NOT BECAUSE THE
ENGINE CHANGED. The records are signed under op.evaluation.verdict.v4 and were
always sound. rc.12 rebuilds v3 and cannot verify them; rc.21 rebuilds v4 and
does. Nothing about the artifacts moved.

The reasonContains strings named both version tokens deliberately so the pin
could not move in either direction without turning this check red. It moved, the
check went red, and this is the answer to it: the control working, not a finding
about the engine.

POPULATION SEARCHED: every tracked file with dist/ excluded, grepped for the
package name adjacent to a semver, plus every data-engine-version="current" span
in tracked HTML.

  scripts/package.json        1.0.0-rc.12 -> 1.0.0-rc.21
  scripts/package-lock.json   1.0.0-rc.12 -> 1.0.0-rc.21
  eight "current" spans       verify.html 3, index.html 2, docs.html 2,
                              check.html 1

EIGHT, NOT THE FIVE THE EARLIER SURVEY FOUND. That survey excluded verify.html's
three as parked; they are on master now, so the population grew by exactly those
three. The difference is not a correction to the earlier count, it is the same
method over a population that changed underneath it.

A NINTH THING, WHICH NO INSTRUMENT FOUND. verify-samples/README.md said "What the
pin does, and what it does not: scripts/package.json still pins 1.0.0-rc.12 ...
and credential-expectations.json still records the four allow:false outcomes."
This commit falsifies that paragraph. Rewritten here.

sentences-at-risk.mjs was run before committing and found NOTHING, correctly and
uselessly: it keys off results/ values and this change moves a pin and eight
spans, touching no results/ file. The population it derives is not the population
this change touches, and the README paragraph is in Markdown, which it does not
read at all. Its scope is one class of change, and this is a different one.
verify.html, index.html, docs.html and check.html all moved their git date with
the version spans. make-sitemap.py is one commit behind by construction, so this
follows rather than rides with them.

Caught by tools/hooks/pre-push, which refused the push. First time that hook has
stopped a real one rather than a probe.
@netlify

netlify Bot commented Aug 23, 2026

Copy link
Copy Markdown

Deploy Preview for observerprotocol ready!

Name Link
🔨 Latest commit a095b13
🔍 Latest deploy log https://app.netlify.com/projects/observerprotocol/deploys/6a8b8857e1c1c20008ee98d2
😎 Deploy Preview https://deploy-preview-103--observerprotocol.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@BTCBoyd

BTCBoyd commented Aug 24, 2026

Copy link
Copy Markdown
Member Author

Closing in favour of #104, which carries this branch's commits unchanged.

Ruling from Boyd: #101 and #103 are combined because they are one change to the world. A repository state with one landed and not the other is a state that should not exist, so they land together or not at all. The branch protection is correct and was not relaxed.

The measurement that forced it: each was red for the other's reasons.

combination result
#103 alone RED — stale npmLatest, two section-02 markers
#101 alone RED — the pin drift
#103 + #101 13/13 GREEN

Neither could go green first, so neither could merge first. Combined, the merge is clean and the suite passes.

Nothing from this branch is dropped; its commits are in #104's history.

@BTCBoyd BTCBoyd closed this Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant