Conversation
|
Steward semantic review requested for head Primary trust boundary: final ReviewDecision domain semantics and commit classification. Please decide the section 21 approval card, especially the need for a future v0.2 carrier, the exact reject-versus-contest intent binding, single-result/no-consequence-effect closure, human-versus-represented-Party fields, GovernanceEvent/governance-decision classification, and complete mapping/postcondition trace. Scope check: this draft changes one non-authoritative candidate file. It does not amend the renewed authorization semantics from PR #11, create a schema or executable contract, define the separate REVIEW_REQUEST result, change Event Grammar/runtime/currentness, or promote anything. The full local repository suite and all current GitHub checks pass. If a requested change would alter authorization, authorization-evidence carriers, runtime transactions, or currentness, please identify it as a separate prerequisite or follow-up rather than extending this PR. |
samovers
left a comment
There was a problem hiding this comment.
Review disposition: Request changes
Reviewed PR #17 at head 0727957f22a22653145389db1824ef0599150edc. It is correctly scoped as a draft, one-file, non-authoritative Phase A candidate for the final ReviewDecision protected-effect boundary. Both current-head workflows pass.
The candidate’s core direction is sound, but three semantic problems should be corrected before steward approval. These are bounded changes; they do not justify reopening PR #11’s broader authorization architecture.
1. Blocker — the transaction-wide “one result and no other effect” rule contradicts active review/consequence law
The candidate repeatedly requires:
- exactly one
ReviewDecision; - zero additional governed effects;
- prohibition of
resultingAcceptedConsequenceRefs; - failure when an
AcceptedEventConsequenceis inserted in the same protected transaction.
That goes beyond the issue’s legitimate boundary. It does not merely say that this contract does not own accepted-consequence semantics; it changes the existing relationship between a review decision and its resulting consequences.
Active source-truth law requires the ReviewDecision family to support resulting accepted-consequence references where relevant. The current carrier contains resultingAcceptedConsequenceRefs, and an active example uses that field for an accepted operation claim.
The Event Grammar also explicitly allows one governed event to produce multiple linked records or consequences. The current ingress result can separately report emitted review decisions and emitted accepted consequences.
The candidate is right that one authorization for REVIEW_ACCEPT must not silently create an unbound consequence. The mistake is turning that into a universal prohibition.
Smallest patch:
- Define the result cardinality locally: this contract validates exactly one
ReviewDecision. - State that this contract neither authorizes nor validates an
AcceptedEventConsequence. - Preserve an optional exact companion-consequence binding in
ReviewDecision v0.2. - Permit such a binding only when a separately reviewed accepted-consequence contract and an enclosing atomic composition rule bind both results before commit.
- Replace
PC_NO_EXTRA_EFFECTwithPC_NO_UNBOUND_EFFECT. - Continue to prohibit implicit consequence creation and direct current-state mutation.
This preserves the single-effect safety objective without deleting an active source-truth relationship.
2. Blocker — the candidate conflates the governance event with the ReviewDecision record
The document says the result “is classified as one GovernanceEvent with commit class governance decision” and later treats the ReviewDecision itself as both.
Active Event Grammar explicitly distinguishes:
- event family — what kind of governed act occurred;
- commit class — what truth-bearing record entered OFARM authority.
The accepted event-ingress RFC likewise keeps the SemanticEventEnvelope distinct from ReviewDecision, AssertionRecord, and AcceptedEventConsequence. The current event-envelope contract is a separate governed object.
Required correction:
- The final review act has primary event family
GovernanceEvent. - The ReviewDecision record has commit class
governance decision. - A
SemanticEventEnvelope, where required by the ingress path, is a separately governed event record linked to the exact decision. - Validation evidence remains separately classified as
EvidenceEvent/evidence record. - Do not put event-envelope semantics into the
ReviewDecisioncarrier itself.
This is mainly a wording and postcondition correction, but it matters because the current text could produce a machine contract that treats an event family as a property of the source-truth record rather than of the governed act.
3. Blocker — EVIDENCE_SUFFICIENCY_CASE is silently removed from final-review scope
The proposed ReviewDecision v0.2 target table contains ten target kinds and explicitly excludes EVIDENCE_SUFFICIENCY_CASE as “v0.1-only.”
That exclusion is not owned by this protected-effect contract:
- the current
ReviewDecisioncontract permitsEVIDENCE_SUFFICIENCY_CASE; - the accepted Authority Action Matrix gives
REVIEW_ACCEPTandREVIEW_REJECT_OR_CONTEST“case scope”; EvidenceSufficiencyCase v0.2is an active current contract and directly supports linked review decisions.
PR #11’s current RP_FINAL_REVIEW_TARGET_ONE also omits that family. PR #17 cannot repair or ratify that omission locally because target eligibility is authorization law, not result-mapping law.
Required disposition:
Before machine-readable contract materialization, the authorization boundary must explicitly decide one of these:
- Add
EVIDENCE_SUFFICIENCY_CASEto the applicable final-review actions; or - Explicitly amend the existing case-review posture and identify the replacement governed action.
PR #17 should record this as an upstream stop condition. It should not declare the active family ineligible by itself.
Carrier simplification
The proposed carrier replaces the existing decidedByPartyRef with:
decidedByHumanPrincipalRef;decisionRepresentationPosture;- represented-Party fields;
- representation-basis fields.
That is machine-expressible, but it makes the canonical deciding Party conditional and moves detailed authorization-proof structure into the domain record. Active source-truth law still describes a ReviewDecision as carrying its deciding Party.
A cleaner carrier would retain:
decidedByPartyRef— the accountable authority subject: the person when acting for self, otherwise the represented Party;decidedByHumanPrincipalRef— the authenticated natural person who performed the final act;finalizationEvidenceRef— immutable reference to the detailed representation and authorization evidence.
This is not an independent blocker, but it is the simpler and more stable domain model. It avoids forcing every consumer to reconstruct the deciding Party from authorization-specific conditional fields.
Over-design assessment
The document is 642 lines for one result family. Length alone is not a defect, and the exact action/outcome mappings, immutable target binding, postconditions, and hostile cases are justified.
The avoidable duplication is in generic machinery:
- contract-digest construction;
- validation-trace mechanics;
- transaction sequencing;
- generic finalization evidence;
- generic atomic-commit rules.
Those belong to the parent protected-effect program and the authorization-finalization evidence boundary. Repeating them in every effect-family candidate creates a future drift risk: two domain contracts may eventually define slightly different digest or atomicity protocols.
PR #17 should own only:
- the
ReviewDecisioncarrier delta; - reviewed-target resolution;
- action/outcome mapping;
- deciding-Party and human-act mapping;
- ReviewDecision-specific forbidden widening;
- ReviewDecision-specific postconditions and hostile cases.
It should reference the shared digest, trace, and transaction protocol rather than restating it.
What should remain unchanged
The following parts are sound:
- a future
ReviewDecision v0.2rather than pretending v0.1 has stronger proof; - exact immutable target revision or digest;
- exact
REVIEW_ACCEPT→ACCEPTED; - exact
REVIEW_SUPERSEDE→SUPERSEDED; - intent-bound choice between
REJECTEDandCONTESTED; - prohibition on target mutation;
- separation from current-state materialization;
- no result-local defaults for action, outcome, target, rationale, evidence, or time;
- protected-effect failure does not rewrite authorization
ALLOW; - separate schema, conformance, acceptance, promotion, and OFARM2 extraction stages.
Final disposition: keep PR #17 in draft and do not approve its section 21 card until the three blockers above are closed.
|
Addressed the review at new head Primary trust boundary remains final ReviewDecision domain semantics and commit classification. This PR still changes one non-authoritative candidate file. Blocker 1 — companion consequencesClosed. The contract now validates exactly one ReviewDecision as its own result rather than imposing a transaction-wide one-record rule. It:
The v0.1 inventory now explicitly records the two current acceptance examples that carry consequence references. Blocker 2 — act versus record classificationClosed. The candidate now states separately that:
No event-envelope field is proposed inside ReviewDecision. Blocker 3 — EVIDENCE_SUFFICIENCY_CASEClosed as a controlled upstream prerequisite, not locally widened. Issue #16 was reopened and PR #11 now has a separate authorization-only amendment at The source check narrowed that amendment further than a shared three-action policy: only PR #17 records renewed approval of that PR #11 head as a blocking prerequisite before machine materialization. The previous PR #11 approval is not treated as applying to changed rule semantics. Carrier simplificationAdopted. The future carrier retains Over-design reductionThe candidate is reduced from 642 to 475 lines. Generic challenge, receipt, retention, transaction sequencing, and persistence mechanics are no longer restated. The document retains only the ReviewDecision-specific closure explicitly required by issue #15:
Local validation passes: full repository suite, generated-currentness, repository hygiene, Re-review is requested for this head. Semantic approval should remain contingent on renewed approval of the separate PR #11 prerequisite. |
samovers
left a comment
There was a problem hiding this comment.
Review disposition: Request three bounded changes
Reviewed PR #17 at current head 975d48af0940485eddf2f434bf097c75ef9c2539 against:
- the previously reviewed head
0727957f22a22653145389db1824ef0599150edc; - issue #15’s stated boundary;
- the approved authorization amendment on PR #11 at
5974bb916ac8a2c5a6230facbb9836f639c754c3; - active source-truth, event, and evidence-case law.
The PR remains draft, mergeable, and limited to one non-authoritative candidate file. Both current-head GitHub workflows pass. The rewrite materially closes all three findings from the previous review and removes much of the generic machinery that did not belong in this domain contract.
Three smaller executable gaps remain.
1. Blocker — companion-consequence semantics are still incomplete and require authority that does not exist
Section 7 now correctly says that this contract validates one ReviewDecision rather than prohibiting all other transaction records. It preserves optional resultingAcceptedConsequenceBindings behind a separately reviewed composition. That closes the earlier issue.
The remaining problem has two parts.
First, the field is not closed by review branch. Nothing explicitly states whether companion accepted consequences are:
- permitted for
REVIEW_ACCEPT; - prohibited for
REJECTEDandCONTESTED; - permitted or prohibited for
REVIEW_SUPERSEDE, where a corrected replacement consequence may conceivably be part of a separate composition.
The branch postconditions suggest that reject and contest must not create a contrary accepted state, but the carrier and companion section do not turn that into an exact conditional field rule. A schema author would still have to invent whether resultingAcceptedConsequenceBindings is legal under each branch.
Second, section 7 requires every companion effect to have “its own valid authority and intent binding.” No accepted action class or effect-intent profile currently exists for creating an AcceptedEventConsequence. Active source-truth law instead models the consequence as linked to the accepting review decision, and the existing promotion chain emits the review decision and accepted consequence together.
PR #11 itself already uses the narrower pattern for pack activation: one authorized STRUCTURE_EVENT may have a linked successor activation-set consequence, with both results bound by the governed-effect receipt. It does not require an invented second authorization action merely because the linked consequence is a separate immutable result.
Required patch:
- Add an exact branch table for
resultingAcceptedConsequenceBindings.REVIEW_ACCEPT / ACCEPTED: optional only under the separately reviewed composition.REVIEW_REJECT_OR_CONTEST / REJECTED: absent.REVIEW_REJECT_OR_CONTEST / CONTESTED: absent.REVIEW_SUPERSEDE / SUPERSEDED: explicitly decide whether a replacement consequence is allowed under a correction composition; do not leave this implicit.
- Replace “each companion effect has its own valid authority and intent binding” with a rule that the composition must identify the exact governing authority basis.
- Permit a consequence to be a contract-defined derived companion of the authorized review intent when active promotion law allows that relationship.
- Do not imply a new authority action class. If stewards actually require a separate consequence-creation action, that belongs in a separate authorization amendment.
- Add hostile cases for an accepted consequence attached to
REJECTEDorCONTESTED, and for any supersede posture selected by the steward decision.
This is one domain-composition clarification, not a reason to design a generic workflow or multi-action framework.
2. Blocker — the reviewed target has two possible logical references
The proposed carrier contains both:
reviewedArtifactRef; andreviewedArtifactBinding.
The table initially describes the latter as the immutable revision-or-digest selector. Immediately afterward, however, the candidate says that every binding contains a logical ref plus its immutable selector. That means the target logical reference appears both in reviewedArtifactRef and inside reviewedArtifactBinding.
The mapping table then maps PRIMARY_RECORD.resourceRef separately to reviewedArtifactRef, while RD_TARGET_BINDING maps only the “target revision/digest” to the tagged binding. It never states whether the tagged binding repeats the logical reference or defines the required equality between the two copies.
A future schema or validator could therefore produce:
reviewedArtifactRef = assertion:A
reviewedArtifactBinding.logicalRef = assertion:B
reviewedArtifactBinding.digest = digest-of-B
Both components might independently satisfy their mappings while the record names two targets.
Required patch:
Use one target identity representation. The smallest compatibility-preserving form is:
reviewedArtifactRef
exactly one of:
reviewedArtifactRevisionRef
reviewedArtifactDigest
Do not put another logical ref inside the immutable selector.
Alternatively, replace all three with one reviewedArtifactBinding object containing the ref and exactly one immutable selector, but then remove the standalone reviewedArtifactRef.
Update RD_TARGET_REF, RD_TARGET_BINDING, the field table, and the hostile cases consistently. No generic binding abstraction is needed.
3. Blocker — valid EvidenceSufficiencyCase v0.1 records are silently made unreviewable
Section 6 maps EVIDENCE_SUFFICIENCY_CASE specifically to the current/default EvidenceSufficiencyCase v0.2 carrier.
The accepted EvidenceSufficiencyCase Promotion RFC says something narrower:
- v0.2 is the current default for new degraded- or late-evidence work;
- v0.1 remains valid as a compatibility baseline and remains available for narrow compatibility or minimal deployments.
It does not say that valid v0.1 cases may no longer be reviewed.
A ReviewDecision v0.2 targeting an immutable v0.1 case would not upgrade that case to v0.2 proof strength. It would merely record a governed review of the exact historical record. Making such records unavailable is therefore a compatibility restriction, not a necessary consequence of stronger ReviewDecision evidence.
Required patch:
Change the target posture to:
exact active governed
EvidenceSufficiencyCasecarrier version selected by the immutable target binding; v0.2 is current/default for new cases, while v0.1 remains valid for compatibility.
The target-resolution profile should bind the exact schema version and digest and reject:
- the superseded
v0.2-draft; - unknown versions;
- mutable or unresolved case records.
If the intended policy is genuinely to prohibit review of valid v0.1 cases, that needs an explicit compatibility decision and steward-card item rather than being embedded in one target-map cell.
Required metadata cleanup
The PR description now reflects the current head and the eleven-target closure, but its review request still points reviewers to section 21. The steward approval card is now in section 18.
The description’s phrase “separately authorized” for every companion consequence should also be aligned with the resolution of finding 1.
What the rewrite now gets right
The following previous concerns are closed:
- The one-result rule is scoped to this
ReviewDecisioncontract rather than the whole transaction. - Companion consequence references are retained instead of deleted from the future carrier.
- The governed
GovernanceEventact is separated from thegovernance decisionrecord. EVIDENCE_SUFFICIENCY_CASEeligibility is restored only for accept and reject-or-contest, while supersede remains narrower.decidedByPartyRefis retained alongside the authenticated human principal and finalization evidence.- Authorization proof internals are not duplicated into the domain record.
- Exact action/outcome closure remains intact.
- Target mutation and direct current-state promotion remain prohibited.
- Generic challenge, retention, transaction-manager, and receipt mechanics are referenced rather than redefined.
- The content-addressing and validation-trace sections are now short, contract-specific applications rather than a competing generic framework.
Drift and over-design assessment
There is no broad scope drift in the rewrite. It remains within issue #15’s domain-effect boundary.
There is also no justification for another full rewrite. The remaining changes are local:
- close companion consequences by branch and authority basis;
- remove the duplicate target reference;
- preserve valid EvidenceSufficiencyCase version compatibility;
- repair the section number in the PR description.
The current companion requirement is mildly overdesigned because it implies a second authorization action that the active model does not define. The duplicate target representation is also unnecessary schema surface. Removing those two elements makes the design smaller and safer.
Final disposition: keep PR #17 in draft and do not approve section 18 until these three bounded changes are closed.
|
Addressed the current-head review at new head Primary trust boundary remains final Blocker 1 — companion-consequence closureClosed with an exact branch table:
Supersede is deliberately consequence-free because active law provides no accepted replacement-consequence composition. A future correction-composition proposal must amend this boundary separately rather than infer permission. The composition rule now identifies the exact governing authority basis. It permits an accepted consequence to be a contract-defined derived companion of the authorized review intent when active promotion law allows it, without inventing a second action class or nonexistent second effect intent. The candidate recognizes no separate consequence action and still leaves consequence construction and generic composition outside this PR. Branch-specific postconditions and hostile cases enforce the closure. Blocker 2 — one target identityClosed.
Blocker 3 — EvidenceSufficiencyCase compatibilityClosed. Case resolution now selects the exact active governed carrier through the immutable target selector:
The resolution binds the exact schema ref, version, digest, and immutable case bytes. Hostile cases cover improper v0.1 rejection or upgrade and every invalid carrier posture. Metadata and validationThe PR description now points to the section 18 approval card at this exact head and no longer says every companion must be separately authorized. It reports 11 target rows, 3 action/outcome rows, 18 mapping IDs, 15 postcondition IDs, and 14 well-formed Markdown tables. Local validation passes:
All four current-head GitHub checks pass. The exact approved PR #11 dependency remains Re-review is requested for What is next: confirm whether these three bounded findings are closed or identify the remaining ReviewDecision-domain delta. |
samovers
left a comment
There was a problem hiding this comment.
Re-review disposition: Request one bounded change
Reviewed current head d02a4815437b49f2ce428138dcbfd04e324664d3 against the previously reviewed head 975d48af0940485eddf2f434bf097c75ef9c2539.
The delta is one commit, one candidate file, and 91 changed lines. PR #17 remains draft, mergeable, and non-authoritative. Both current-head validation workflows pass.
The previous three findings are closed
Companion consequences: closed. The candidate now has an exact branch table:
- only
REVIEW_ACCEPT / ACCEPTEDmay carry companion accepted-consequence bindings; REJECTED,CONTESTED, andSUPERSEDEDrequire absence;- an accepted consequence may be a contract-defined derived companion under active promotion law;
- no second action class or nonexistent second effect intent is invented;
- the composition must bind its authority basis, derivation, contracts, and result digests.
Target identity: closed. reviewedArtifactBinding has been removed. The carrier now has one logical target reference and exactly one immutable selector: reviewedArtifactRevisionRef or reviewedArtifactDigest. The mapping and hostile cases reject zero selectors, both selectors, and any second logical target reference.
EvidenceSufficiencyCase compatibility: closed. Exact target resolution now:
- keeps v0.2 as current/default for new cases;
- preserves valid v0.1 cases as reviewable compatibility records without upgrading their proof strength;
- rejects the superseded v0.2 draft, unknown versions, mutable records, and unresolved records.
The PR description is also current: it names the correct head, points to section 18, and accurately describes the companion-effect posture.
Remaining blocker — section 16 duplicates domain semantics into the authorization bundle
Section 8 correctly says the protected-effect contract itself owns and content-addresses:
- the intent-schema binding;
- the result-schema binding;
- every field mapping;
- every permitted derivation;
- forbidden widening;
- classification;
- postconditions; and
- trace requirements.
Section 16 then requires AuthorizationPolicyBundle v0.2 to bind the result schema again and to carry “the exact intent/result selector pointers for every RD_* mapping.” That creates a second representation of semantics already owned by the domain contract.
This is problematic for two reasons.
First, several mappings do not have an intent source at all:
RD_DECIDING_PARTYcomes from the selected authority subject in finalization evidence;RD_HUMANcomes from the authenticated principal;RD_FINALIZATION_EVIDENCEcomes from trusted finalization evidence;RD_TIMEcomes from trusted human-act time;RD_TARGET_FAMILYrequires target-schema and immutable-byte resolution;RD_COMPANION_CONSEQUENCEScomes from the optional composition binding.
Therefore, “intent/result selector pointers for every mapping” is not executable as written. It would require mirrored fields, omit material sources, or force the bundle author to reinterpret each mapping.
Second, the parent protected-effect program deliberately assigns mappings, result schemas, derivations, and postconditions to the owning domain contract. The authorization evaluator is supposed to bind and consume the contract identity and validation disposition, not reproduce its internal semantics. PR #11 likewise defines the policy bundle as holding separately owned protected-effect contract bindings, rather than copies of every domain mapping.
Duplicating selectors and result-schema authority creates a precedence question:
- Does the domain contract win?
- Does the authorization bundle win?
- Must both match?
- What happens if the contract digest is unchanged but a duplicated bundle selector differs?
No such second authority surface is needed.
Smallest required patch
Revise section 16 so that AuthorizationPolicyBundle v0.2 must:
- bind the exact protected-effect contract ID, version, ref, digest, and owning family;
- bind that contract to the three final-review action rules;
- preserve the PR #11 action-specific target-policy split;
- exclude
REVIEW_REQUEST; and - include the protected-effect contract binding in each affected per-action
ruleDigest.
Remove the requirements for the authorization bundle to independently bind:
- the result schema; and
- every
RD_*selector.
The result-schema binding and mapping selectors remain inside the content-addressed protected-effect contract. Changing either changes contractDigest, which then changes the affected action-rule digest. That already supplies deterministic invalidation without two sources of semantic truth.
A runtime-oriented index may expose the contract’s result-schema or mapping metadata for lookup, but it must be explicitly derived, non-authoritative, and digest-checked against the contract. That optimization does not belong in this Phase A semantic requirement.
Drift and over-design assessment
The current commit does not otherwise drift beyond the ReviewDecision domain boundary. It introduces no new action, generic composition language, runtime transaction mechanism, currentness change, or accepted-consequence contract.
The one remaining issue is itself an over-design seam: copying domain-contract internals into AuthorizationPolicyBundle adds machinery and competing authority without increasing safety. Removing that duplication makes the design smaller and more faithful to issues #12 and #15.
No other blocking finding remains. After the section 16 binding rule is narrowed, current head is ready for Phase A steward semantic approval. That approval would still not promote schemas, accept RFC law, change currentness, merge the PR, or authorize OFARM2 runtime work.
|
Addressed the remaining review finding at new head Primary trust boundary remains final Section 16 — whole-contract bundle handoffClosed. The later
The independent bundle requirements for the result-schema binding and every Any later runtime lookup index is explicitly derived, non-authoritative, and digest-checked rather than part of this Phase A requirement. Traceability, the section 18 approval card, and staged delivery now use the same whole-contract handoff. No PR #11 authorization rule, policy bundle, schema, runtime, currentness, or OFARM2 file changed. Validation passes:
Final semantic re-review is requested for What is next: confirm whether the section 16 blocker is closed and whether this exact head is ready for Phase A steward semantic approval. |
samovers
left a comment
There was a problem hiding this comment.
Re-review disposition: Request one bounded wording correction
Reviewed current head 0cfd8066b0d09e84c474734e0e42f08cd8e09d99 against the previously reviewed head d02a4815437b49f2ce428138dcbfd04e324664d3.
The delta is one commit, one candidate file, and 22 changed lines. PR #17 remains draft, mergeable, and non-authoritative. Both current-head workflows pass.
The previous blocker is substantively closed
Section 16 now correctly requires AuthorizationPolicyBundle v0.2 to bind the protected-effect contract as a single content-addressed unit:
- contract ID, version, reference, digest, and owning family;
- association with the three final-review action rules;
- the action-specific case-target split;
- exclusion of
REVIEW_REQUEST; and - inclusion of the contract binding in each affected per-action
ruleDigest.
It explicitly keeps the result-schema binding, RD_* mappings, derivations, forbidden-widening rules, classification, postconditions, and trace requirements inside the protected-effect contract. This removes the competing semantic authority identified in the previous review.
The corresponding traceability row, steward card, delivery sequence, and PR description were updated consistently. The optional runtime-index sentence is appropriately non-authoritative and does not create a Phase A requirement.
Remaining inconsistency — section 13 still assigns the result schema to the action rule
Section 13 still requires the protected-effect gate to:
verify the selected action rule’s exact intent, result-schema, and contract bindings
That sentence retains the model section 16 has just removed. Under the corrected design:
- the action rule directly selects the effect-intent schema and protected-effect contract;
- the protected-effect contract owns its result-schema binding;
- the authorization bundle does not independently carry that result-schema binding.
Leaving the current wording would allow the machine-materialization PR to recreate a direct action-rule or bundle-level result-schema field and claim that section 13 requires it. It also makes the document internally contradictory: section 13 assigns the result schema to the action rule, while section 16 says it remains solely inside the protected-effect contract.
Required edit: replace section 13’s opening validation sequence with the equivalent of:
- verify the selected action rule’s exact effect-intent-schema and protected-effect-contract bindings;
- load and digest-verify the referenced protected-effect contract;
- verify the result-schema binding owned by that contract;
- validate the proposed result against that result schema;
- evaluate every applicable
RD_*mapping andPC_*postcondition; and - supply the passing immutable trace to the shared atomic transaction gate.
The result-schema reference, version, and digest should remain in the validation trace. The correction only clarifies which artifact owns them.
Drift and over-design check
No other blocking finding remains.
The current delta:
- removes semantic duplication rather than adding machinery;
- introduces no new action or contract family;
- does not move domain mappings into authorization;
- does not reopen companion-effect, target-identity, case-version, runtime, currentness, or evidence-carrier decisions;
- preserves exact invalidation through
contractDigestand the affectedruleDigest; - keeps runtime indexing optional, derived, and non-authoritative.
The residual problem is a dangling sentence, not an architectural defect. It should be fixed locally rather than reopening the design.
Final assessment: after section 13 is aligned with section 16, PR #17 is ready for Phase A steward semantic approval. That approval would still not create or promote schemas, accept RFC law, change currentness, merge the PR, or authorize OFARM2 runtime work.
|
Addressed the final wording inconsistency at new head Primary trust boundary remains final The protected-effect gate now performs the exact ownership sequence requested by the review:
The result-schema ref, version, and digest remain in the validation trace. Section 13 no longer implies a direct action-rule or bundle-level result-schema binding and now agrees with section 16's whole-contract handoff. No authorization rule, policy bundle, schema, mapping, postcondition, runtime, currentness, or OFARM2 file changed. Validation passes:
Head-specific semantic approval review is requested for What is next: confirm whether this exact head is ready for Phase A steward semantic approval. |
samovers
left a comment
There was a problem hiding this comment.
Re-review disposition: No blocking findings
Reviewed current head 81893d4ee7a54d27d70d2d99720a73470a987bce against the previously reviewed head 0cfd8066b0d09e84c474734e0e42f08cd8e09d99.
PR #17 remains draft, mergeable, one-file, and non-authoritative. The new commit is limited to the requested section 13 correction: six additions and four deletions in the validation sequence.
Previous blocker: closed
The protected-effect validation sequence now has the correct ownership order:
- The action rule binds the exact effect-intent schema and protected-effect contract.
- The runtime loads and digest-verifies that protected-effect contract.
- The result-schema reference, version, and digest are obtained from and verified against the contract.
- The proposed result is validated against that schema.
- The contract-owned mappings and postconditions are evaluated.
- The passing immutable trace is supplied to the shared atomic transaction gate.
This now agrees with section 16, which says the authorization bundle binds the protected-effect contract as one unit while the result schema, RD_* mappings, derivations, classification, postconditions, and trace requirements remain solely inside that contract. There is no longer a contradictory direct action-rule or bundle-level result-schema authority.
The invalidation chain is coherent:
result schema or domain mapping changes
→ protected-effect contractDigest changes
→ affected action ruleDigest changes
→ old binding no longer silently applies
Drift and over-design check
No scope drift. The correction remains inside issue #15’s final ReviewDecision domain-contract boundary. It does not change:
- authorization meaning or PR #11;
- action or target eligibility;
- actor or approval rules;
- companion-consequence semantics;
- the future
ReviewDecision v0.2carrier; - Event Grammar;
- runtime transaction architecture;
- currentness or promotion.
No new over-design. The patch removes a duplicated semantic authority rather than adding another layer. It introduces no new contract family, schema registry, lookup service, or generic abstraction. The optional runtime-index language remains explicitly derived and non-authoritative.
Both visible current-head GitHub workflows—repository validation and generated-currentness validation—completed successfully.
Final assessment
- Previous blocker: closed
- New semantic blockers: none
- Internal ownership consistency: closed
- Scope drift: none
- New over-design: none
- Phase A disposition: ready for steward semantic approval
That approval would approve this head-specific candidate only. It would not create or promote schemas, accept active RFC law, change current/default status, merge the PR, or authorize OFARM2 runtime implementation.
samovers
left a comment
There was a problem hiding this comment.
Re-review disposition: No blocking findings
Reviewed current head 81893d4ee7a54d27d70d2d99720a73470a987bce against the previously reviewed head 0cfd8066b0d09e84c474734e0e42f08cd8e09d99.
PR #17 remains draft, mergeable, one-file, and non-authoritative. The new commit is limited to the requested section 13 correction: six additions and four deletions in the validation sequence.
Previous blocker: closed
The protected-effect validation sequence now has the correct ownership order:
- The action rule binds the exact effect-intent schema and protected-effect contract.
- The runtime loads and digest-verifies that protected-effect contract.
- The result-schema reference, version, and digest are obtained from and verified against the contract.
- The proposed result is validated against that schema.
- The contract-owned mappings and postconditions are evaluated.
- The passing immutable trace is supplied to the shared atomic transaction gate.
This now agrees with section 16, which says the authorization bundle binds the protected-effect contract as one unit while the result schema, RD_* mappings, derivations, classification, postconditions, and trace requirements remain solely inside that contract. There is no longer a contradictory direct action-rule or bundle-level result-schema authority.
The invalidation chain is coherent:
result schema or domain mapping changes
→ protected-effect contractDigest changes
→ affected action ruleDigest changes
→ old binding no longer silently applies
Drift and over-design check
No scope drift. The correction remains inside issue #15’s final ReviewDecision domain-contract boundary. It does not change:
- authorization meaning or PR #11;
- action or target eligibility;
- actor or approval rules;
- companion-consequence semantics;
- the future
ReviewDecision v0.2carrier; - Event Grammar;
- runtime transaction architecture;
- currentness or promotion.
No new over-design. The patch removes a duplicated semantic authority rather than adding another layer. It introduces no new contract family, schema registry, lookup service, or generic abstraction. The optional runtime-index language remains explicitly derived and non-authoritative.
Both visible current-head GitHub workflows—repository validation and generated-currentness validation—completed successfully.
Final assessment
- Previous blocker: closed
- New semantic blockers: none
- Internal ownership consistency: closed
- Scope drift: none
- New over-design: none
- Phase A disposition: ready for steward semantic approval
That approval would approve this head-specific candidate only. It would not create or promote schemas, accept active RFC law, change current/default status, merge the PR, or authorize OFARM2 runtime implementation.
|
I cloned the repo, checked out PR #17 and PR #11, and verified the document's factual claims against the actual schemas and policy text rather than reading it on its own terms. What checks out. The v0.1 inventory in §4.1 matches Blocking finding —
Same defect, smaller: Undisclosed family-enum widening. §6.2's required-family column contains nine values. v0.1 has six. Undisclosed narrowing in the other direction. Token collision. Cosmetic. Header lines 3–7 lack the trailing double-space breaks; the sibling One thing to be aware of, not a defect. Every load-bearing identifier this document depends on — Verdict: approve after fixing What is next: tell me if you want these written up as review comments on the PR, or as a patch to the document itself — I have the repo cloned and both branches checked out. |
|
Renewed semantic re-review requested on The amendment stays in the existing final
Validation passes at this exact head: full repository suite, generated currentness, Primary trust boundary: final PR #17 remains draft. Please identify any remaining protected-effect semantic defect or confirm that this exact head is ready for a separate steward approval decision. What is next: exact-head re-review of the scope/lineage mappings and explicitly disclosed target-resolution deltas. |
Re-review at
|
|
Renewed semantic re-review requested on
The cosmetic Validation passes at this exact head: full repository suite, generated currentness, Primary trust boundary: final PR #17 remains draft. Explicit steward approval remains a separate decision. What is next: confirm whether these three alignment items are closed and whether exact head |
samovers
left a comment
There was a problem hiding this comment.
Re-review disposition: No blocking findings
Reviewed PR #17 at current head 9ef08030b25eb3db1c2da14d6595300198384ff2 against:
- the previously reviewed head
81893d4ee7a54d27d70d2d99720a73470a987bce; - issue #15’s protected-effect boundary and acceptance criteria;
- the active Source Truth Record Closure and current source-record contracts;
- the exact approved PR #11 authorization head
03a21f669ee04f96d444e14f00ae7212cab04803.
PR #17 remains draft, open, mergeable, and limited to one non-authoritative candidate file. The two-commit delta contains 67 additions and 36 deletions.
The current amendments are sound
Scope ownership is now explicit. RD_SCOPES takes its complete value only from the common authorization envelope and the extractor selected by PR #11. The future machine contract must bind exact source and destination pointers, cardinality, and array/set posture. It must stop rather than inventing an extra result-only scope when the authorized value cannot be represented completely in anchorScopes. This preserves authorization ownership while allowing this contract to validate the resulting ReviewDecision.
The earlier claim that PR #11 provided no scope source was correctly withdrawn: the approved authorization candidate already applies a common envelope containing scope to every effect-intent profile. The new text therefore strengthens the handoff rather than repairing an actual contradiction.
Optional decision lineage is correctly separated from authority. supersedesReviewDecisionBinding is now an immutable, digest-bound ReviewDecision-domain field. It cannot change the action, outcome, authority target, scope, authority subject, or path eligibility. Supplying it outside the validated intent, substituting it, or changing it after the intent digest causes RD_PRIOR_DECISION to fail. That is consistent with the active requirement that ReviewDecision support supersession lineage where relevant without turning lineage into an authority source.
The result-carrier changes are no longer hidden. The candidate explicitly asks stewards to approve:
- a
WIDENINGofreviewedArtifactFamilyfrom six to nine values by addingPLANNED_INTERVENTION,EXECUTION_REPORT, andREVIEW_REQUEST; - a
NARROWINGof exactASSERTION_RECORDtarget coverage from all six current assertion subtypes to structure, operation-claim, and compliance assertions.
The active AssertionRecord contract does contain six subtypes, so this narrowing is substantive. It is now stated in the decision request, inventory, target-resolution section, migration posture, hostile cases, and approval card rather than entering through an apparently neutral mapping table. Existing v0.1 history remains valid and is not reinterpreted.
That narrowing follows the exact target vocabulary already approved on PR #11. PR #17 is not locally deleting an authorized target or changing who may review it; it is exposing the corresponding result-carrier consequence for separate steward approval.
REVIEW_REQUEST is no longer ambiguous. The candidate distinguishes the excluded REVIEW_REQUEST action and REVIEW_REQUESTED outcome from an eligible governed record whose target kind and family are REVIEW_REQUEST. It therefore preserves issue #15’s exclusion of a review-request result contract without accidentally excluding review-request records as final-review targets.
Dependency-aware validation is closed correctly
The validation trace now has four honest dispositions:
PASS;FAIL;- legitimate
NOT_APPLICABLE; - dependency-bound
NOT_EVALUATED.
NOT_EVALUATED is narrowly defined: a named contract-declared prerequisite did not pass, so no conclusion was reached. It cannot suppress an independent failure, cannot be assigned arbitrarily, and prevents overall PASS when the dependent item is required. The machine contract must enumerate the exact prerequisite IDs.
The hostile case is appropriate: if RD_TARGET_KIND fails, the dependent RD_TARGET_FAMILY check must be NOT_EVALUATED, not a fabricated PASS, FAIL, or NOT_APPLICABLE. This carries PR #11’s evidence-truthfulness principle into the domain-validation trace without importing PR #11’s authorization outcome lattice.
The transaction boundary remains separate
Issue #19 is now named consistently in the header, governing inputs, validation handoff, steward card, and delivery sequence. It must close the atomic transaction and single-use consumption protocol before machine materialization, hostile conformance, or runtime implementation relies on that gate.
PR #17 does not attempt to define reservation, concurrency, retry, uncertain commit, or recovery semantics itself. That is the correct boundary: this candidate defines what the ReviewDecision contract must supply to the gate, while issue #19 owns how the shared transaction actually operates.
The exact PR #11 dependency is also valid. Steward approval was explicitly granted for authorization head 03a21f669ee04f96d444e14f00ae7212cab04803, and that approval authorizes dependent candidates to refresh their pin without approving PR #17 in advance.
Drift and over-design check
No material scope drift. The current changes remain inside final ReviewDecision domain semantics and validation evidence. They do not alter authorization, principal resolution, action eligibility, grants, Event Grammar, accepted-consequence construction, current state, transport, runtime implementation, or currentness.
No new over-design. The amendment adds no:
- new action class;
- generic policy language;
- independent lineage service;
- transaction coordinator;
- duplicate authorization-bundle semantics;
- compatibility theorem engine;
- current schema or contract.
The NOT_EVALUATED addition is a small trace-truthfulness mechanism, not another outcome model. The WIDENING and NARROWING labels are governance disclosure, not runtime indirection. The issue #19 dependency prevents transaction semantics from leaking into this PR rather than adding them here.
One materialization guard should remain explicit during the later machine-contract review: the phrase “an applicable lineage rule passes” must resolve to an exact contract-owned lineage predicate and dependency binding, or the lineage field must be absent. It must not survive as locally interpreted prose. That does not require another Phase A architecture amendment; it follows from this candidate’s existing requirement that selectors, mapping dependencies, postconditions, and contract bytes be exact and separately reviewed.
The two current-head workflow runs returned by GitHub—repository validation and generated-currentness validation—both completed successfully.
Final assessment
- PR #11 dependency: correct and approved
- Scope source and mapping stop condition: closed
- Lineage source ownership: closed
- Result-family widening disclosure: closed
- Assertion-subtype narrowing disclosure: closed
REVIEW_REQUESTaction/target distinction: closed- Dependency-aware
NOT_EVALUATED: closed - Issue #19 boundary: correctly separated
- New semantic blocker: none
- Scope drift: none
- New over-design: none
- Phase A disposition: ready for exact-head steward semantic approval
Approval should apply specifically to 9ef08030b25eb3db1c2da14d6595300198384ff2. It would not merge the PR, accept active RFC law, create or promote machine contracts, change current/default status, or authorize OFARM2 runtime implementation. Issue #19 remains a hard downstream prerequisite for any claim relying on the shared atomic transaction and consumption gate.
Steward semantic approval — grantedI explicitly grant Phase A semantic approval for the final ReviewDecision protected-effect contract candidate at commit This approval accepts the complete candidate and its approval-card decisions at that exact head, including:
The approved primary trust boundary is the ReviewDecision protected-effect contract. PR #17 stayed within that boundary as a one-file, draft, non-authoritative RFC candidate. Canonical authorization remains governed by the exact approved PR #11 head. Governed approval transaction and consumption coordination remains separately governed by issue #19. Schema creation, contract promotion, currentness, transport release, retention and key custody, and OFARM2 runtime implementation remain separately governed. This decision does not:
At machine-contract review, the phrase describing an applicable lineage rule must resolve to an exact contract-owned lineage predicate with explicit dependency binding, or the optional lineage field must be absent. This is a later materialization guard and does not amend or block this Phase A approval. Any later semantic change to PR #17 requires renewed exact-head review and approval. PR #17 remains draft as the durable candidate and approval record. What is next: preserve this exact approved candidate while selecting the next separately governed issue. |
Closes #15
Outcome
Current head
9ef08030b25eb3db1c2da14d6595300198384ff2applies the three non-blocking alignment items from the latest exact-head re-review:NOT_EVALUATED, distinct from legitimateNOT_APPLICABLE, and requires named contract-declared prerequisite IDs;WIDENINGandNARROWINGvocabulary while remaining explicitly on the separate result-carrier axis.The preceding
ff02d571400f80a4db0c47c424ec8308836ed315amendment addressed the source-verified review:The amendment:
RD_SCOPESonly to the complete scope value produced from the common authorization envelope by the selected PR RFC candidate: executable authorization evidence v0.2 #11 rule and extractor;anchorScopes;reviewedArtifactFamilywidening from six to nine values by addingPLANNED_INTERVENTION,EXECUTION_REPORT, andREVIEW_REQUEST;ASSERTION_RECORDnarrowing from six current subtypes to structure, operation-claim, and compliance, excluding observation, lot, and other assertions;REVIEW_REQUESTaction /REVIEW_REQUESTEDoutcome from an eligible governedREVIEW_REQUESTtarget;03a21f669ee04f96d444e14f00ae7212cab04803.The header now renders as separate fields, and the chat-style closing line was removed from the candidate.
Primary trust boundary
Final
ReviewDecisiondomain semantics and commit classification.Intended PR boundary
This draft changes only:
package_meta/history/clean_baseline_migration/phase_reports/review_decision_final_protected_effect_contract_rfc_candidate_v0_1.mdIt defines the exact intent-to-result mapping for
REVIEW_ACCEPT,REVIEW_REJECT_OR_CONTEST, andREVIEW_SUPERSEDE, the minimum future ReviewDecision carrier, exact target/family resolution, fixedGovernanceEvent/governance decisionclassification, postconditions, validation evidence, and hostile cases needed to review that mapping.It does not amend authorization law, grants, delegation, PR #11, current schemas, accepted RFCs, Event Grammar, accepted-consequence construction, generic composition, shared evidence envelopes, transaction coordination, runtime behavior, OFARM2, or current/default selection.
Decisions proposed
ReviewDecision v0.2carrier is necessary; current v0.1 history is not reinterpreted.REVIEW_ACCEPT/ACCEPTEDmay carry companion accepted-consequence bindings under a separately reviewed composition; reject, contest, and supersede require absence.effectIntentDigest; if it ever affects authority, PR RFC candidate: executable authorization evidence v0.2 #11 must be separately amended and reapproved.WIDENINGand three-of-six assertion-subtypeNARROWINGrequire explicit steward approval.NOT_EVALUATEDrather than fabricating a pass or failure, and overallPASSstill requires every required item to pass.Authorization dependency
PR #11 received renewed steward semantic approval at exact head
03a21f669ee04f96d444e14f00ae7212cab04803. PR #17 consumes and pins that authorization boundary without reproducing or changing it. Any later semantic change to that head invalidates this dependency before machine materialization.This dependency approval does not approve PR #17 in advance.
Drift and over-design check
Scope stayed inside issue #15's ReviewDecision protected-effect boundary. The patch exposes hidden semantic deltas and removes ambiguity; it adds no action, authorization target, schema, generic policy language, runtime service, duplicated bundle authority, or compatibility engine.
Validation
python3 package_meta/tools/run_repository_validation_suite.py— PASSpython3 package_meta/tools/check_generated_currentness.py— PASS5974bb9dependency or candidate-localWhat is next:linegit diff --check— PASSReview requested
Please review the updated section 18 approval card and exact head
9ef08030b25eb3db1c2da14d6595300198384ff2. Explicit steward semantic approval remains a separate decision. Any requested authorization, schema, shared-evidence, transaction, runtime, or currentness change must stay in its own trust-boundary PR.What is next: confirm whether the three PR #11 alignment edits are closed and whether this exact head is ready for steward semantic approval.