M0-01R2: Separate knowledge lineage from effective temporal projection #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-9-knowledge-effective"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #9
Predecessor evidence: #3 / PR #4 STOP_REVISE at
303f5fe118a592f3cf5e7ea47c5955625850ea28; #7 / PR #8 STOP_REVISE atc70bbd380a0728bad04112f1c02f076fb94ee1e4. Neither predecessor was patched or cherry-picked; no projection implementation carried forward. One normal checkout/home/adrian/workspace/model-intelligence, ordinary branch from freshly fetched canonical develop.Frozen Delivery
Base/merge base:
6edd31d491a41a92e73ebfc6d9ee81c284129f8a.HEAD:
db74252119ea7013f223e55abae7ab661bcae3a1.Normal Git commit/push verified under effective author/committer Adrian Tkacz adrian.tkacz@creatidy.com. Clean status, full delta, whitespace, ancestry and canonical origin verified. PR targets develop, issue stays open, no merge/main/release/deploy.
Separated Proof
knowledge()reads all retained history, latest-known heads independently of applicability, future versions and stale observations. Branches remain unresolved explicit heads.effective_at()independently restricts claims to explicit effective version boundaries, then removes replaced ancestors. Revision boundaries are monotone within an explicit lineage (equal boundaries allowed); no arbitrary timestamp/source/authority winner. Future-known baseline/model/surface/override/withdrawal revisions cannot suppress current predecessors.BaselineClaim.effective_fromversions have no finite interval. Overrides separately have an effective version boundary plus a bounded active period, public conditions and local zoned windows; an explicit withdrawal has no terms/period. Once a revision boundary arrives, predecessors do not resurrect after expiry or failed conditions.evidence_delta()exposes new observation/claim identities directly, including all revision/withdrawal announcements in a batch and future known evidence. No overloaded changes() or event engine. Retrieval-only silent, semantic identity/freshness rewrites rejected, missing history never cessation.projection_delta()compares typed effective endpoint views, carrying before/after participants/terms/conflicts. It does not reconstruct invisible causal history. Equal-price replacement can change baseline participants without inventing a price-change event.Proof Coverage
Required Jan1 price20 A / Nov1 price25 B learned Oct1: latest B/current A Oct15, explicit evidence revision immediately, fixed-time projection delta silent, effective B and A/B endpoint transition Nov1. Past-effective learned revision also covered. Same-term future/past baseline revisions cannot manufacture unknown gaps.
Override activation/inheritance/expiry/fallback, future revision/withdrawal announcements versus effective boundaries, shortening/extension/term change, delayed active periods, history retention/current exclusion, later independent campaigns, conditions/windows/DST/half-open boundaries.
A/B/C: contextual model/benchmark/price evidence and future revisions; plan generation/baseline/campaign; separate advertised/observed/selectable/enforceable modes and no invented provider-managed physical ID.
Predecessor adversaries: missing rows, old closed history, cross-source equal-value revision suppression, stale/retrieval-only silence, branches including nested/future/equal-value branches, baseline conflict masking, batched price-changing then equal-price/reverting revisions, relevant inactive boundary diagnostics, future same-term baseline gap. 120 input permutations and socket-blocked combined A/B/C proof.
Complexity and Limits
4 production modules: evidence.py 353 LOC, projection.py 153, deltas.py 63, init 1 = 570 physical LOC. 25 public frozen dataclasses, 1 type alias, 1 private top-level helper, 0 runtime dependencies. PR8 final production was 647 LOC with overloaded knowledge/projection/changes; this proof separates new identities from effective endpoint comparison and replaces causal reconstruction with supplied lineage. No generic EAV/graph/DSL/event machinery/provider hierarchy or infrastructure. Synthetic proof, not real market verification/product GO. No copied upstream code/data; upstream catalogs remain outside core.
Executed Validation
uv run --no-sync python -m unittest discover -s tests -p test_separated_proof.py -v: PASS, 33 proof tests with lifecycle/branch/delta/adversarial subcases.UV_OFFLINE=1 make check: PASS, 35 tests including packaging, locked sync, Ruff lint/format, basedpyright 0 diagnostics and staged/unstaged whitespace.UV_OFFLINE=1 uv build: PASS, sdist/wheel.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 /tmp/kilo/mi-r2-wheel-smoke.py: PASS. Imported installed wheel outside src, knowledge/current future baseline split, evidence/projection delta, py.typed and no Requires-Dist verified.Automatically entering repository-native /finish-pr now: fresh foreground independent whole-PR reviewers, direct frozen JSON handoff, maximum three remediation rounds and a fresh final review. Additional adversarial valid-input scrutiny required within inspected read-only permissions; do not infer approval from these implementation checks. Hard-stop if causal reconstruction heuristics or structurally harder temporal machinery become necessary.
READY_TO_MERGE / APPROVE. Native bounded /finish-pr terminated after one remediation round, never merged.
Exact base/merge-base for both fresh whole-PR reviews:
6edd31d491a41a92e73ebfc6d9ee81c284129f8a.db74252119ea7013f223e55abae7ab661bcae3a1: REQUEST_CHANGES, two new P2 defects (alternative revision inheritance and independent campaign masking).177471b7bc083e796d03096382740d1b2d80d676: APPROVE, empty findings. JSON frozen SHAs/types, clean checkout and final canonical Git/MCP currentness confirmed; PR open/unmerged targeting develop.Remediation commit
177471bseparates campaign alternatives (including omission/inactivity) from independent composition, preserving field agreement and relevant disagreement diagnostics. Both findings were reproduced first with failing regressions. No causal inference, generic DSL/graph/event engine, new dependency or architecture expansion.Final
UV_OFFLINE=1 make check: PASS, 37 tests plus Ruff lint/format, basedpyright zero diagnostics, locked sync and staged/unstaged whitespace. Fresh reviewer independently repeated it and whole-range whitespace. Parent reran offline package build and isolated no-cache installed-wheel smoke after final code changes: PASS. Final production complexity supersedes initial PR prose: 4 modules, 587 physical LOC (evidence353/projection170/deltas63/init1), 25 public frozen dataclasses, 1 alias, 1 private helper, zero runtime dependencies.Reviewer additional valid-input scrutiny was source-level because existing deny-by-default permissions prohibit custom interpreter probes/test writes; no bypass. Reviewer did not independently rerun build/isolated smoke outside its allowlist. Approval is for deterministic synthetic issue #9 proof only, not live-source accuracy, upstream redistribution rights or product GO. Issue remains open; human merge gate preserved.