M0-01R: Prove explicit observation lineage and baseline/override projection #8

Closed
kilo wants to merge 4 commits from issue-7-explicit-lineage into develop
Member

Refs #7
Predecessor evidence: #3 / unmerged STOP_REVISE PR #4 at 303f5fe118a592f3cf5e7ea47c5955625850ea28. No predecessor domain implementation was patched, cherry-picked or carried forward.

Frozen Delivery

Base freshly fetched canonical develop: 6edd31d491a41a92e73ebfc6d9ee81c284129f8a (merged PR #6).
Implementation HEAD: 567c3aa43b1247e646d3852e340889860eb7310e.
Ordinary branch issue-7-explicit-lineage, same normal checkout /home/adrian/workspace/model-intelligence; no new worktree or alternate checkout. Normal commit/push under effective Adrian Tkacz adrian.tkacz@creatidy.com identity. Base ancestry, clean status, complete delta and canonical refs verified.

Architecture Proof

  • Explicit immutable Observation IDs carry source identity, authority/type/reference, published/observed/retrieved times, independent freshness and distribution/license. Claim IDs reference observations. Separate typed ModelClaim, OfferClaim and SurfaceClaim families, no generic EAV.
  • Supplied revises links define heads, never values/source/timestamps/row absence. Reject self/cyclic/missing/incomparable lineage. Branching revisions retain multiple heads. Observation re-retrieval changes acquisition only; claim/observation semantic identity cannot be rewritten.
  • Immutable Evidence values retain all historical observations and claims. extend() appends evidence or refreshes retrieval. Semantic comparison rejects missing history, never infers cessation. Known revision links supersede ancestors immediately in that knowledge set; the new head's applicability independently controls projection at T. Earlier Evidence values preserve prior knowledge. No event sourcing/store.
  • Offer projection uses baseline heads plus active bounded typed override heads. Price, absolute public quota, availability and rules are independently replaceable fields; omitted overlay fields inherit baseline. Natural half-open expiry falls back automatically. Future campaigns, active revisions, shortened/extended intervals, term changes, explicit withdrawal and later independent campaigns are represented without provider machinery. Conditions need explicitly satisfied public context, IANA daily windows use local wall time including overnight/DST.
  • Disjoint active overrides compose; incompatible same-field values remain conflicts with unknown effective field, no source/recency/lexical/trust winners or implicit quota/discount multiplication. Equal independent values retain all IDs. Explicit campaign IDs identify disputed applicability boundaries; unresolved disputes remain separate diagnostics even after expiry and do not apply expired terms. Current override lists exclude expired/superseded/withdrawn campaigns; future heads query separately.
  • Explainable typed changes cite claim IDs/links/applicability or field-wise projection/conflict deltas. No _claim, _corrected, _ceased heuristic equivalents.

A/B/C and Adversarial Evidence

A: stable synthetic model/provider representation, capability, pricing, contextual benchmark version/methodology/configuration, independent sources and disagreement, explicit price revision even when another source already reports that value. No score/winner.
B: synthetic plan generation, baseline, promotion/restriction, public conditions, zoned windows and all twelve requested lifecycle steps. No private account state/live market truth.
C: headless, structured output, workspace editing, model selection and physical-model observability/enforceability; advertised/observed/selectable/enforceable remain independent. Provider-managed execution has no invented physical model ID; unknown != false.
Predecessor invariants ported as scenarios: missing row != cessation, older same-source history cannot close newer claim, cross-source equal values cannot suppress explicit revision or imply lineage, superseded history cannot become current correction, re-retrieval silent/stale/superseded unchanged, unresolved boundaries visible, expired != deleted, current excludes expired/superseded campaigns, unknown != false. Additional invalid lineage, branching, half-open intervals, DST fold/wall-time, numeric, deterministic ordering and socket-blocked combined proof.

Complexity and Limits

3 production Python modules including docstring-only init: domain.py 356 LOC, projection.py 281 LOC, init 1 LOC = 638 physical LOC. 22 public classes (21 dataclasses + 1 closed change enum), 2 type aliases, 2 private top-level helpers, 7 public top-level functions; 0 runtime dependencies. Predecessor was 525 LOC / 18 classes / 13 private helpers. More explicit typed data boilerplate, substantially simpler explanation: supplied identity/link -> head -> applicability -> field composition. No heuristic architecture, generic graph/rules DSL or framework.
No REST/MCP server/database/scheduler/jobs/clients/UI/downstream integration. No upstream code/data copied; models.dev and genai-prices were inspected only for reuse boundary context; fixtures are entirely synthetic. Not a product GO or live-source accuracy conclusion.

Executed Validation

  • uv run --no-sync python -m unittest discover -s tests -p test_lineage_proof.py -v: initial 53 proof tests passed; full gate includes 55 proof tests after added applicability regressions.
  • make check: PASS, 57 total tests (55 proof + 2 packaging), locked sync, Ruff lint/format, basedpyright 0 errors/warnings, unstaged/staged whitespace.
  • uv build: PASS, sdist and wheel.
  • Fresh isolated installed-wheel smoke from /tmp/kilo, uv run --offline --no-cache --isolated --no-project --with /home/adrian/workspace/model-intelligence/dist/model_intelligence-0.1.0-py3-none-any.whl python -c ...: PASS, installed path outside src, baseline inheritance/expiry fallback, semantic expiry, historical retention, py.typed and no Requires-Dist.
  • git diff --check, cached check and full exact base-to-HEAD check: PASS.

Native bounded /finish-pr starts automatically next; this implementation evidence is not independent approval. The command-line kilo executable is absent in this session, so native task availability must be established directly. No substitute self-review/external controller/owner relaying. Issue stays open and PR unmerged; no merge/release/deploy/main modification.

Refs #7 Predecessor evidence: #3 / unmerged STOP_REVISE PR #4 at `303f5fe118a592f3cf5e7ea47c5955625850ea28`. No predecessor domain implementation was patched, cherry-picked or carried forward. ## Frozen Delivery Base freshly fetched canonical develop: `6edd31d491a41a92e73ebfc6d9ee81c284129f8a` (merged PR #6). Implementation HEAD: `567c3aa43b1247e646d3852e340889860eb7310e`. Ordinary branch `issue-7-explicit-lineage`, same normal checkout `/home/adrian/workspace/model-intelligence`; no new worktree or alternate checkout. Normal commit/push under effective Adrian Tkacz <adrian.tkacz@creatidy.com> identity. Base ancestry, clean status, complete delta and canonical refs verified. ## Architecture Proof - Explicit immutable Observation IDs carry source identity, authority/type/reference, published/observed/retrieved times, independent freshness and distribution/license. Claim IDs reference observations. Separate typed ModelClaim, OfferClaim and SurfaceClaim families, no generic EAV. - Supplied `revises` links define heads, never values/source/timestamps/row absence. Reject self/cyclic/missing/incomparable lineage. Branching revisions retain multiple heads. Observation re-retrieval changes acquisition only; claim/observation semantic identity cannot be rewritten. - Immutable Evidence values retain all historical observations and claims. `extend()` appends evidence or refreshes retrieval. Semantic comparison rejects missing history, never infers cessation. Known revision links supersede ancestors immediately in that knowledge set; the new head's applicability independently controls projection at T. Earlier Evidence values preserve prior knowledge. No event sourcing/store. - Offer projection uses baseline heads plus active bounded typed override heads. Price, absolute public quota, availability and rules are independently replaceable fields; omitted overlay fields inherit baseline. Natural half-open expiry falls back automatically. Future campaigns, active revisions, shortened/extended intervals, term changes, explicit withdrawal and later independent campaigns are represented without provider machinery. Conditions need explicitly satisfied public context, IANA daily windows use local wall time including overnight/DST. - Disjoint active overrides compose; incompatible same-field values remain conflicts with unknown effective field, no source/recency/lexical/trust winners or implicit quota/discount multiplication. Equal independent values retain all IDs. Explicit campaign IDs identify disputed applicability boundaries; unresolved disputes remain separate diagnostics even after expiry and do not apply expired terms. Current override lists exclude expired/superseded/withdrawn campaigns; future heads query separately. - Explainable typed changes cite claim IDs/links/applicability or field-wise projection/conflict deltas. No `_claim`, `_corrected`, `_ceased` heuristic equivalents. ## A/B/C and Adversarial Evidence A: stable synthetic model/provider representation, capability, pricing, contextual benchmark version/methodology/configuration, independent sources and disagreement, explicit price revision even when another source already reports that value. No score/winner. B: synthetic plan generation, baseline, promotion/restriction, public conditions, zoned windows and all twelve requested lifecycle steps. No private account state/live market truth. C: headless, structured output, workspace editing, model selection and physical-model observability/enforceability; advertised/observed/selectable/enforceable remain independent. Provider-managed execution has no invented physical model ID; unknown != false. Predecessor invariants ported as scenarios: missing row != cessation, older same-source history cannot close newer claim, cross-source equal values cannot suppress explicit revision or imply lineage, superseded history cannot become current correction, re-retrieval silent/stale/superseded unchanged, unresolved boundaries visible, expired != deleted, current excludes expired/superseded campaigns, unknown != false. Additional invalid lineage, branching, half-open intervals, DST fold/wall-time, numeric, deterministic ordering and socket-blocked combined proof. ## Complexity and Limits 3 production Python modules including docstring-only __init__: `domain.py` 356 LOC, `projection.py` 281 LOC, __init__ 1 LOC = 638 physical LOC. 22 public classes (21 dataclasses + 1 closed change enum), 2 type aliases, 2 private top-level helpers, 7 public top-level functions; 0 runtime dependencies. Predecessor was 525 LOC / 18 classes / 13 private helpers. More explicit typed data boilerplate, substantially simpler explanation: supplied identity/link -> head -> applicability -> field composition. No heuristic architecture, generic graph/rules DSL or framework. No REST/MCP server/database/scheduler/jobs/clients/UI/downstream integration. No upstream code/data copied; models.dev and genai-prices were inspected only for reuse boundary context; fixtures are entirely synthetic. Not a product GO or live-source accuracy conclusion. ## Executed Validation - `uv run --no-sync python -m unittest discover -s tests -p test_lineage_proof.py -v`: initial 53 proof tests passed; full gate includes 55 proof tests after added applicability regressions. - `make check`: PASS, 57 total tests (55 proof + 2 packaging), locked sync, Ruff lint/format, basedpyright 0 errors/warnings, unstaged/staged whitespace. - `uv build`: PASS, sdist and wheel. - Fresh isolated installed-wheel smoke from `/tmp/kilo`, `uv run --offline --no-cache --isolated --no-project --with /home/adrian/workspace/model-intelligence/dist/model_intelligence-0.1.0-py3-none-any.whl python -c ...`: PASS, installed path outside src, baseline inheritance/expiry fallback, semantic expiry, historical retention, py.typed and no Requires-Dist. - `git diff --check`, cached check and full exact base-to-HEAD check: PASS. Native bounded /finish-pr starts automatically next; this implementation evidence is not independent approval. The command-line `kilo` executable is absent in this session, so native task availability must be established directly. No substitute self-review/external controller/owner relaying. Issue stays open and PR unmerged; no merge/release/deploy/main modification.
Author
Member

Final native /finish-pr terminal outcome: BLOCKED (tool availability, not an architectural STOP_REVISE or approval).

Frozen HEAD 567c3aa43b1247e646d3852e340889860eb7310e; base/merge-base 6edd31d491a41a92e73ebfc6d9ee81c284129f8a. Same normal clean checkout, canonical remote/MCP refs rechecked current; PR remains open/unmerged to develop.

After fetching actual PR/linked issue and preparing uv sync --offline --locked --group dev, attempted a fresh foreground native task with subagent_type: pr-reviewer, exact frozen whole-PR instructions and no past findings/implementation reasoning. Runtime returned: Unknown agent type: pr-reviewer is not a valid agent type. The repository agent file exists, but this runtime does not expose it. Diagnostic kilo debug agent pr-reviewer also returned /bin/bash: kilo: command not found.

Completed independent reviews: 0. Remediation rounds: 0/3. No reviewer verdict exists. No different agent, parent self-review, CLI/external controller or owner-relayed findings substituted; no unjustified retry or configuration/permission changes. The durable implementation/test/build evidence is recorded above and on issue #7. Native reviewer availability is required to resume this exact PR through the configured workflow.

Validation remains PASS: make check 57 tests, Ruff lint/format, strict basedpyright 0 errors/warnings, locked sync; sdist/wheel build; fresh isolated offline installed-wheel smoke; staged/unstaged/full-base whitespace. No merge/release/deploy/main or predecessor PR #4 changes.

Final native /finish-pr terminal outcome: **BLOCKED** (tool availability, not an architectural STOP_REVISE or approval). Frozen HEAD `567c3aa43b1247e646d3852e340889860eb7310e`; base/merge-base `6edd31d491a41a92e73ebfc6d9ee81c284129f8a`. Same normal clean checkout, canonical remote/MCP refs rechecked current; PR remains open/unmerged to develop. After fetching actual PR/linked issue and preparing `uv sync --offline --locked --group dev`, attempted a fresh foreground native `task` with `subagent_type: pr-reviewer`, exact frozen whole-PR instructions and no past findings/implementation reasoning. Runtime returned: `Unknown agent type: pr-reviewer is not a valid agent type`. The repository agent file exists, but this runtime does not expose it. Diagnostic `kilo debug agent pr-reviewer` also returned `/bin/bash: kilo: command not found`. Completed independent reviews: **0**. Remediation rounds: **0/3**. No reviewer verdict exists. No different agent, parent self-review, CLI/external controller or owner-relayed findings substituted; no unjustified retry or configuration/permission changes. The durable implementation/test/build evidence is recorded above and on issue #7. Native reviewer availability is required to resume this exact PR through the configured workflow. Validation remains PASS: `make check` 57 tests, Ruff lint/format, strict basedpyright 0 errors/warnings, locked sync; sdist/wheel build; fresh isolated offline installed-wheel smoke; staged/unstaged/full-base whitespace. No merge/release/deploy/main or predecessor PR #4 changes.
Author
Member

STOP_REVISE: completed the three permitted remediation rounds and the required fresh whole-PR review after round three. PR remains open/unmerged; issue #7 remains open. No further patches in this invocation.

All four fresh native reviewer results were REQUEST_CHANGES against unchanged base/merge-base 6edd31d491a41a92e73ebfc6d9ee81c284129f8a, with reviewed HEADs:

  • 567c3aa43b1247e646d3852e340889860eb7310e
  • d87e6f3e9431ec079be7663823fe23c34bd3451a
  • 76acc556ebf669c83064224ccef4ccda2e051514
  • c70bbd380a0728bad04112f1c02f076fb94ee1e4 (final exact clean local/canonical/MCP HEAD)

Normal Adrian-authored remediation commits on the SAME branch fixed baseline-conflict masking (d87e6f3), batched explicit price revisions (76acc55) and missing inactive boundary-conflict attribution (c70bbd3), with reproduced regressions. Latest UV_OFFLINE=1 make check passed all gates and 61 tests, independently repeated by the final reviewer. Complete-range whitespace and final currentness checks passed.

Remaining P2 at src/model_intelligence/projection.py:263-273: a same-term baseline replacement with future (or already expired) applicability immediately supersedes the active original, making effective terms unknown, but the returned changes omit the replacement ID/link. Required regression/fix must preserve immediate supersession and cite the causal inactive replacement. This is a new semantic counterexample, not an unfixed instance of the earlier boundary-participant defect. Recurring pattern: effective-change explanations derived from projected participants omit inactive/superseding causal evidence; batching also exposed lost lineage signals. Final counterexample is reviewer source-traced, not executable-probed.

Package build and isolated wheel smoke were not rerun in this invocation; packaging configuration is unchanged and installed metadata/typing-marker tests passed. No merge, replacement PR/branch, additional issue, alternate checkout or deployment.

STOP_REVISE: completed the three permitted remediation rounds and the required fresh whole-PR review after round three. PR remains open/unmerged; issue #7 remains open. No further patches in this invocation. All four fresh native reviewer results were REQUEST_CHANGES against unchanged base/merge-base `6edd31d491a41a92e73ebfc6d9ee81c284129f8a`, with reviewed HEADs: - `567c3aa43b1247e646d3852e340889860eb7310e` - `d87e6f3e9431ec079be7663823fe23c34bd3451a` - `76acc556ebf669c83064224ccef4ccda2e051514` - `c70bbd380a0728bad04112f1c02f076fb94ee1e4` (final exact clean local/canonical/MCP HEAD) Normal Adrian-authored remediation commits on the SAME branch fixed baseline-conflict masking (`d87e6f3`), batched explicit price revisions (`76acc55`) and missing inactive boundary-conflict attribution (`c70bbd3`), with reproduced regressions. Latest `UV_OFFLINE=1 make check` passed all gates and 61 tests, independently repeated by the final reviewer. Complete-range whitespace and final currentness checks passed. Remaining P2 at `src/model_intelligence/projection.py:263-273`: a same-term baseline replacement with future (or already expired) applicability immediately supersedes the active original, making effective terms unknown, but the returned changes omit the replacement ID/link. Required regression/fix must preserve immediate supersession and cite the causal inactive replacement. This is a new semantic counterexample, not an unfixed instance of the earlier boundary-participant defect. Recurring pattern: effective-change explanations derived from projected participants omit inactive/superseding causal evidence; batching also exposed lost lineage signals. Final counterexample is reviewer source-traced, not executable-probed. Package build and isolated wheel smoke were not rerun in this invocation; packaging configuration is unchanged and installed metadata/typing-marker tests passed. No merge, replacement PR/branch, additional issue, alternate checkout or deployment.
Author
Member

Owner-authorized successor: issue #9 / PR #10 (#10). This STOP_REVISE experiment stays unmerged at c70bbd380a; no further patches or cherry-picked projection. Behavioral findings inform the new split between knowledge lineage and effective-at-T, and between evidence and projection deltas. Fresh implementation from develop; automated native bounded review runs on PR #10.

Owner-authorized successor: issue #9 / PR #10 (https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/10). This STOP_REVISE experiment stays unmerged at c70bbd380a0728bad04112f1c02f076fb94ee1e4; no further patches or cherry-picked projection. Behavioral findings inform the new split between knowledge lineage and effective-at-T, and between evidence and projection deltas. Fresh implementation from develop; automated native bounded review runs on PR #10.
Author
Member

Administrative closure WITHOUT MERGE, explicitly authorized by the owner on 2026-10-26.

M0-01R remains STOP_REVISE at c70bbd380a0728bad04112f1c02f076fb94ee1e4 (final disposition: comment13633; explicit successor: comment13656). Its conflation of latest-known lineage, effective applicability and causal deltas required revision. The earlier BLOCKED note and initial delivery description were superseded by those later records. Fresh canonical metadata, all PR/linked issue #7 comments and review records show no later owner decision authorizing integration.

The accepted successor is MI #9 / merged PR #10: #10 (merge fb7299810fdc4612d4e0559465faef571662c6ef). It delivers the synthetic R2 temporal proof, not completion of the separate real-source A/B/C product-value acceptance or final product GO. This old implementation is therefore being closed as superseded, not merged, repaired or retrospectively approved.

Branches, commits, historical review findings/counters and linked issue evidence/dispositions are preserved unchanged. This closure does not restart reviews, change issue #7, or authorize new implementation.

Administrative closure WITHOUT MERGE, explicitly authorized by the owner on 2026-10-26. M0-01R remains STOP_REVISE at `c70bbd380a0728bad04112f1c02f076fb94ee1e4` (final disposition: comment13633; explicit successor: comment13656). Its conflation of latest-known lineage, effective applicability and causal deltas required revision. The earlier BLOCKED note and initial delivery description were superseded by those later records. Fresh canonical metadata, all PR/linked issue #7 comments and review records show no later owner decision authorizing integration. The accepted successor is MI #9 / merged PR #10: https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/10 (merge `fb7299810fdc4612d4e0559465faef571662c6ef`). It delivers the synthetic R2 temporal proof, not completion of the separate real-source A/B/C product-value acceptance or final product GO. This old implementation is therefore being closed as superseded, not merged, repaired or retrospectively approved. Branches, commits, historical review findings/counters and linked issue evidence/dispositions are preserved unchanged. This closure does not restart reviews, change issue #7, or authorize new implementation.
kilo closed this pull request 2026-10-26 10:56:58 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/model-intelligence!8
No description provided.