M0-01 — Prove minimal A/B/C temporal intelligence contract #3
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/model-intelligence#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal and Authorization
Adrian explicitly authorized creation of this one issue and owner-selected it upon successful creation. Implement the smallest deterministic Python domain proof of the frozen #1 A/B/C contract, not a service. Current canonical develop was fetched and verified at
a1c3b8b12c08e54743612a9b74873da42251ae70.This issue narrows the frozen proof to synthetic test fixtures, not claims of current market truth. Inspect upstream concepts and official source references before designing; no third-party code/data redistribution is required. This first architecture conclusion is not the final product GO/NO-GO.
Accepted Scope
Acceptance and Validation
Network-free deterministic tests: temporal boundaries, invalid intervals, identity/serialization, source disagreement, promotion activation/expiry, stale != false, assertion distinctions, semantic diff, negative invented/ambiguous identity validation. Run focused tests, full
make check, explicitgit diff --check, package build if packaging changes. Record production module/core type/runtime-dependency counts (prefer zero added dependencies).README update only enough to state proof and limits. No design-document tree or unnecessary ADR. Stop rather than grow a provider-specific condition hierarchy, DSL, schema framework, dozens of abstractions or cross-product inheritance.
Exclusions
No REST, MCP server, SQLite/Postgres/storage, scheduler/background sync, provider API clients, web UI, rules engine, event-sourcing framework, universal score, benchmark runner, Scarcity Router or creatidy-autonomy integration. No credentials/private account/runtime state; no service/product GO decision.
Delivery and Conclusion
Normal single-issue workflow: isolated
issue-<number>-<topic>branch/worktree from exact fetched develop, reviewable normal Git commits under Adrian identity, push to canonical Forgejo, one MCP PR to develop usingRefs #N, concise issue update, issue remains open. No merge/auto-merge/main/release/deploy.Issue/PR handoff must conclude evidence-based
CONTINUEif A/B/C fit naturally in a small common layer, orSTOP / REVISEif substantial provider-specific machinery/framework complexity is needed. Neither outcome authorizes follow-on work or decides final product GO/NO-GO. Include issue/PR URLs, exact base/HEAD, implemented types, A/B/C outcomes, semantic changes, executed checks, complexity summary, limitations andREADY_FOR_REVIEWor precise blocker.Implemented M0-01 in PR #4, targeting
develop, unmerged. This issue remains open.Base:
a1c3b8b12c08e54743612a9b74873da42251ae70HEAD:
5e2c319218b0d0bb66c58aad3b1c29e67ab09944Branch/worktree:
issue-3-temporal-proof,/tmp/kilo/issue-3-temporal-proof. Canonical push/ref verification succeeded; base ancestry/full delta inspected; worktree clean; Adrian author/committer identity verified.Validation executed: focused
uv run --no-sync python -m unittest discover -s tests -p test_temporal_proof.py -v38 passed; fullmake checkPASS / 40 tests, strict basedpyright 0 errors/warnings, lint/format/locked sync/whitespace gates passed.uv buildbuilt wheel/sdist; isolated installed-wheel import,py.typed, empty dependencies and serialization smoke passed.git diff --check, staged check and complete base-to-HEAD whitespace check passed. Tests/probes use controlled synthetic time and no network.Complexity: 2 production modules total (docstring-only initializer + 466-line domain); 11 frozen objects + 7 enums = 18 named domain types, 0 runtime dependencies added/total. Five scoped files; no infrastructure, integrations, catalog recreation, condition hierarchy or DSL.
All five named upstreams and official Z.ai/ZCode shape references were inspected; detailed source/license evidence is in the PR. No upstream code/dataset copied. Upstreams already solve catalog and substantial historical/conditional pricing; that is not claimed as novel. Official campaign boundary precision remains unspecified; exact fixture boundaries/version and observations are invented, not current market/runtime claims. Conditions are recorded, not evaluated; events are endpoint comparisons, not historical replay. These are explicit proof limits, not unresolved implementation blockers.
CONTINUE for the first architecture proof: A/B/C fit naturally in this small shared temporal/provenance representation without provider-specific machinery. This does not establish a separate product gap or decide final product GO/NO-GO.
READY_FOR_REVIEW. No merge, main changes, release/deploy or additional issue selection performed; implementation diagnostics are not independent review approval.
Remediated the three independent review blockers in existing PR #4, on
issue-3-temporal-proof.Previous HEAD:
5e2c319218b0d0bb66c58aad3b1c29e67ab09944New HEAD:
9b42e984440dfc3b53b20a0bc227bcdd12add154Base remains
a1c3b8b12c08e54743612a9b74873da42251ae70.Present facts, non-superseded retained assertions and currently effective assertions are explicit. Same-source/terms/interval cessation proof prevents partial source removal or unrelated historical claims from manufacturing
PROMOTION_ENDED. Retained competing offer boundaries remain conflict-visible after the earlier expiry, without reactivating expired terms. Last-model expiry/supersession emitsMODEL_EVIDENCE_CHANGED; equivalent replacement, retrieval-only refreshes and missing-row expiry claims remain silent.Regression-first evidence: frozen implementation reproduced all three blockers (8 failing assertions/subcases). Added 10 test methods and extended the existing expiry-conflict regression. Final focused temporal tests 48 passed; full
make checkPASS / 50 tests, strict typing 0 errors/warnings, lint/format/locked-sync/whitespace passed.uv build, fresh installed-wheel smoke and full base-to-HEAD whitespace check passed. Original A/B/C snapshot hashes/event output are unchanged; uncontested promotion start/end and all listed invariants pass.Complexity: production net +23 LOC (+30/-7, 466 -> 489); one
retained()grouping method and one private_ceased()helper; 0 new types/modules/runtime dependencies. Only domain.py and existing tests changed. Normal commit/push to existing PR; no merge or new issue/PR.CONTINUE remains architecture-proof-only. READY_FOR_REVIEW at the new HEAD, requiring a fresh whole-PR independent review rather than treating the old review as approval. This issue remains open; no scope expansion or unresolved implementation blocker.
Remediated both blockers from the whole-PR review in existing PR #4, same branch
issue-3-temporal-proof.Previous HEAD:
9b42e984440dfc3b53b20a0bc227bcdd12add154New HEAD:
8da5e13bc48136d97344791187a2b652307a46d9Base:
a1c3b8b12c08e54743612a9b74873da42251ae70.OFFER_CHANGEDeven if the corrected assertion is inactive. Supplied correction has precedence over cessation. Missing rows and already-present historical claims are not corrections; normal recorded expiry/explicit supersession still use the proven cessation contract.Regression-first reproduction: 3 failures + 2 errors at reviewed HEAD. Added 8 regression methods; focused selection 9 passed, full temporal suite 56 passed,
make check58 passed, basedpyright 0 errors/warnings, lint/format/locked sync/whitespace all passed.uv buildand fresh installed-wheel historical-evidence smoke passed. All prior review regressions and original A/B/C snapshot hashes/event output remain preserved, including partial-removal protection, retained end-boundary conflict, last-model cessation events, equivalent/retrieval-only silence, stale/unknown distinctions and deterministic ordering.Production delta net +16 LOC (+19/-3, 489 -> 505); one private helper; 0 new domain types/modules/dependencies. Two existing files only. Normal descendant commit pushed to existing PR, no history rewrite or scope expansion.
READY_FOR_REVIEW at the new HEAD; fresh independent whole-PR review required, not implementation approval. Architecture-only
CONTINUEremains unchanged. Issue stays open; no merge/new issue/PR/main/release/deploy.Bounded native finish operation ended STOP_REVISE; no fourth remediation or merge.
Every review used base
a1c3b8b12c. Initial8da5e13bc4: REQUEST_CHANGES. After round 1d86e9cdfd4: REQUEST_CHANGES. After round 21782d62e65: REQUEST_CHANGES. After round 3/final303f5fe118: REQUEST_CHANGES. Newly spawned foreground native pr-reviewer tasks used verified GPT-6.1 Sol High, whole-PR frozen ranges, isolated context and direct JSON handoff; no owner relay.All three repair commits were regression-first, normal Adrian commits, and pushed to the same PR #4 branch. Current full make check passes 66 tests, Ruff lint/format, basedpyright 0 errors/warnings, locked sync and whitespace. Final reviewer also ran that gate successfully. Source and review checkouts are clean; final MCP/canonical refs match.
Remaining P2 at domain.py:456-462: correction detection compares against subject-wide prior meanings. When source A explicitly adopts the shorter disputed end already asserted by source B, the correction is suppressed and its original interval is absent from cessation evidence; no event is emitted instead of OFFER_CHANGED. Reviewer source-traced it; the primary then reproduced it with a socket-blocked read-only probe: single-source correction emits offer_changed, adding B makes the same correction emit nothing.
Recurring pattern: source-observation identity, delayed/superseded history and multi-source schedules are still conflated during correction classification; new contextual benchmark-state defects also appeared and were repaired. This is evidence to STOP/REVISE the M0 semantics rather than continue unbounded patches. No architecture revision or additional issue is automatically authorized. Issue remains open; #4 remains unmerged.