Skip to content

test: freeze Agent Spec field-change contract matrix - #67

Open
myobie wants to merge 4 commits into
mainfrom
pr102-field-change-proof
Open

test: freeze Agent Spec field-change contract matrix#67
myobie wants to merge 4 commits into
mainfrom
pr102-field-change-proof

Conversation

@myobie

@myobie myobie commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a contract-first, model-free acceptance matrix for the field-change rules documented by merged compoundingtech/st2#102.

  • freezes 18 public-CLI cases covering F01-F16, shared R05 dry-run ordering, and unsupported moved intent
  • classifies 4 exact-product conformance passes and 14 expected product reds
  • limits expected reds to the named G01-G08 implementation gaps
  • mutation-tests exact pass/red membership even when aggregate 4/14 counts are unchanged
  • records exact zero-residue cleanup without calling a model or provider

This is intentionally a draft/product-red proof. Expected reds are classification evidence, never conformance passes.

Strengthened proof surfaces

  • F01 performs a real KDL-to-JSON source-form and source-path move with normalized effects unchanged, then separately heals the exact dead task.
  • F03 executes independent overlap-first and absence-first host projections with separate catalog, state, PTY, and workspace roots and no shared receipt.
  • F05 requires the healthy generation to survive and the changed role to become observable through the public roster.
  • F06-F08 require one durable, stable-ID, classed, coalesced, privacy-safe post-commit event; unchanged reconciliation must stay quiet and same-ID replay must remain read.
  • F14 compares compact argv/env/cwd/lifecycle lowering with an explicit PTY and sends a real inbox message through both native DING sidecars.
  • F15 mutates every provider-only field on a live healthy agent while asserting unchanged public generation, process generation, launch fingerprint, task inventory, wake count, event count, and action report.
  • F16 holds the distinct invalid agent's exact last-known-good process generation while an unrelated valid runtime ID boots.

Frozen expected-red map

  • F02 → G03
  • F03 → G05
  • F04 → G01
  • F05 → G07
  • F06 → G02,G04,G06
  • F07-F08 → G02,G06
  • F09-F10 → G03
  • F11 → G03,G04
  • F12-F13 → G03
  • R05 dry-run/order → G07
  • moved intent → G08

Exact-product passes: F01, F14, F15, F16.

Validation

Exact source head: cfd8007549ad78c74236580b1b7e0cf74eaa267f
Exact base: fa2d6336e12085057bdec29671df5fae870dae5f
Exact st2 product: e54a04a3ee8af6fe0b0bce4cd961f8188ac90525
Exact rebuilt st2 binary SHA-256: 098d1b48c34ed9baf2f110568ee2e79386fba118536379a16826470fadde5ca4
Exact locked PTY source: afeb3b6234b7010b7db802fd029766ad17c14219
Exact PTY launcher SHA-256: 406fbfcc6e292bcd178be15470e0fc8310ba1ddc35becbab25e0cffd0f096334

Focused exact-product verdict: expected overall FAIL with 1 red product step and all 5 contract judges green.

SUMMARY conformance-pass=4 expected-red=14 unexpected=0
ZERO-RESIDUE exec=0 pty=0 process=0 catalogs=18

Focused receipt SHA-256: 4ee930bd5eeb2c99d3009b1ac5f57582ebf31b5abbce29a9aeb2a4da0ff71242

Static oracle self-test: 7/7 green.

Full model-free corpus preflight: green at 59 maintained cells, 225 shell files, 109 KDL files, and 11 nested fleet catalogs using published runner source 0fed14b (SHA-256 d61d12b2b1189a391c196ca28f8f4ba69072d14fcbad2571fc29db1f250f4eed).

No model or provider call was made.

Review gate

Keep draft and unmerged. Nathan's personal review must cover this exact final head before merge.

@myobie

myobie commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator Author

Courtesy before draft-to-ready: exact head cfd8007549ad78c74236580b1b7e0cf74eaa267f is the CoS-reviewed proof head. This PR is intentionally product-red: the frozen exact-product matrix records 4 conformance passes and 14 named implementation-gap reds, with zero unexpected classifications and zero residue. I will now mark it ready for independent review and request a distinct merge-authorized reviewer. No restoration to draft is planned; the independent reviewer should decide whether to merge.

@myobie
myobie marked this pull request as ready for review July 31, 2026 14:21
@myobie
myobie requested a review from schickling July 31, 2026 14:21
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