M0-01 — Prove minimal A/B/C temporal intelligence contract #3

Closed
opened 2026-10-02 21:20:12 +00:00 by kilo · 4 comments
Member

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

  • Small typed Python 3.12 immutable value objects sharing source/provenance, effective validity distinct from retrieval time, and epistemic states: current, future, stale (not false), expired, superseded, conflicting, unknown.
  • Three explicit fact families, not generic EAV: model evidence, public offer/promotion rules, execution-surface facts. Source authority classes and distribution/license classification; no global trust score.
  • Immutable versioned normalized snapshots, deterministic serialization/identity/order, conflict preservation without selecting a universal winner, and a closed meaningful semantic change vocabulary.
  • A: synthetic GLM-5.3-Flash identity/provider representation, capability/benchmark methodology/version/configuration, pricing, timestamps/provenance and simultaneous disagreeing sources.
  • B: synthetic bounded Z.ai plan generation/promotion, zoned recurring window, explicit price/quota units/multiplier semantics and prerequisites. Controlled before/during/after tests; automatic effective-time expiry even with cached evidence. No private remaining quota or implicit discount composition.
  • C: synthetic versioned ZCode surface evidence distinguishing advertised/observed/selectable/enforceable. Headless, structured output, workspace read/edit, discovery/selection/reasoning steering, physical-model observability/enforceability, provider-managed identity without invented physical model.
  • Snapshot N/N+1 proof: source conflict survives normalization; promotion starts/ends/expires; execution capability changes semantically; unchanged facts/retrieval metadata do not emit row noise; deterministic serialization/change output.

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, explicit git 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 using Refs #N, concise issue update, issue remains open. No merge/auto-merge/main/release/deploy.

Issue/PR handoff must conclude evidence-based CONTINUE if A/B/C fit naturally in a small common layer, or STOP / REVISE if 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 and READY_FOR_REVIEW or precise blocker.

## 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 - Small typed Python 3.12 immutable value objects sharing source/provenance, effective validity distinct from retrieval time, and epistemic states: current, future, stale (not false), expired, superseded, conflicting, unknown. - Three explicit fact families, not generic EAV: model evidence, public offer/promotion rules, execution-surface facts. Source authority classes and distribution/license classification; no global trust score. - Immutable versioned normalized snapshots, deterministic serialization/identity/order, conflict preservation without selecting a universal winner, and a closed meaningful semantic change vocabulary. - A: synthetic GLM-5.3-Flash identity/provider representation, capability/benchmark methodology/version/configuration, pricing, timestamps/provenance and simultaneous disagreeing sources. - B: synthetic bounded Z.ai plan generation/promotion, zoned recurring window, explicit price/quota units/multiplier semantics and prerequisites. Controlled before/during/after tests; automatic effective-time expiry even with cached evidence. No private remaining quota or implicit discount composition. - C: synthetic versioned ZCode surface evidence distinguishing advertised/observed/selectable/enforceable. Headless, structured output, workspace read/edit, discovery/selection/reasoning steering, physical-model observability/enforceability, provider-managed identity without invented physical model. - Snapshot N/N+1 proof: source conflict survives normalization; promotion starts/ends/expires; execution capability changes semantically; unchanged facts/retrieval metadata do not emit row noise; deterministic serialization/change output. ## 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`, explicit `git 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 using `Refs #N`, concise issue update, issue remains open. No merge/auto-merge/main/release/deploy. Issue/PR handoff must conclude evidence-based `CONTINUE` if A/B/C fit naturally in a small common layer, or `STOP / REVISE` if 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 and `READY_FOR_REVIEW` or precise blocker.
Author
Member

Implemented M0-01 in PR #4, targeting develop, unmerged. This issue remains open.

Base: a1c3b8b12c08e54743612a9b74873da42251ae70
HEAD: 5e2c319218b0d0bb66c58aad3b1c29e67ab09944
Branch/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.

  • A: synthetic GLM-5.3-Flash identity/provider/benchmark/price evidence; both disagreeing sources retained and conflicting. Benchmark context does not hide price disagreement.
  • B: synthetic plan generation, prerequisites, public quota semantics, zoned overnight window and bounded campaign. Cached facts automatically expire by effective time; stale != false; no discount composition or private account state.
  • C: synthetic versioned ZCode assertions keep advertised/observed/selectable/enforceable distinct and represent provider-managed execution without inventing a physical model. Physical observability may remain unknown.
  • N -> N+1: exactly conflict detected, price evidence changed, promotion started. Next endpoint: exactly structured execution surface changed, promotion ended. Conflict survives without repeated event noise; unchanged/retrieval-only facts are silent; serialization/output deterministic.

Validation executed: focused uv run --no-sync python -m unittest discover -s tests -p test_temporal_proof.py -v 38 passed; full make check PASS / 40 tests, strict basedpyright 0 errors/warnings, lint/format/locked sync/whitespace gates passed. uv build built 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.

Implemented M0-01 in [PR #4](https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/4), targeting `develop`, unmerged. This issue remains open. Base: `a1c3b8b12c08e54743612a9b74873da42251ae70` HEAD: `5e2c319218b0d0bb66c58aad3b1c29e67ab09944` Branch/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. - A: synthetic GLM-5.3-Flash identity/provider/benchmark/price evidence; both disagreeing sources retained and conflicting. Benchmark context does not hide price disagreement. - B: synthetic plan generation, prerequisites, public quota semantics, zoned overnight window and bounded campaign. Cached facts automatically expire by effective time; stale != false; no discount composition or private account state. - C: synthetic versioned ZCode assertions keep advertised/observed/selectable/enforceable distinct and represent provider-managed execution without inventing a physical model. Physical observability may remain unknown. - N -> N+1: exactly conflict detected, price evidence changed, promotion started. Next endpoint: exactly structured execution surface changed, promotion ended. Conflict survives without repeated event noise; unchanged/retrieval-only facts are silent; serialization/output deterministic. Validation executed: focused `uv run --no-sync python -m unittest discover -s tests -p test_temporal_proof.py -v` **38 passed**; full `make check` **PASS / 40 tests**, strict basedpyright **0 errors/warnings**, lint/format/locked sync/whitespace gates passed. `uv build` built 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.
Author
Member

Remediated the three independent review blockers in existing PR #4, on issue-3-temporal-proof.

Previous HEAD: 5e2c319218b0d0bb66c58aad3b1c29e67ab09944
New HEAD: 9b42e984440dfc3b53b20a0bc227bcdd12add154
Base 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 emits MODEL_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 check PASS / 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 the three independent review blockers in existing [PR #4](https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/4), on `issue-3-temporal-proof`. Previous HEAD: `5e2c319218b0d0bb66c58aad3b1c29e67ab09944` New HEAD: `9b42e984440dfc3b53b20a0bc227bcdd12add154` Base 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 emits `MODEL_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 check` **PASS / 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.
Author
Member

Remediated both blockers from the whole-PR review in existing PR #4, same branch issue-3-temporal-proof.

Previous HEAD: 9b42e984440dfc3b53b20a0bc227bcdd12add154
New HEAD: 8da5e13bc48136d97344791187a2b652307a46d9
Base: a1c3b8b12c08e54743612a9b74873da42251ae70.

  • Newly supplied changed terms/interval for the same offer/source emit OFFER_CHANGED even 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.
  • Removed the invalid coupling of freshness/supersession boundaries to acquisition time. Re-retrieval after a boundary is representable without renewing freshness/reactivating superseded evidence. UTC normalization, timezone-awareness and other temporal validation remain.

Regression-first reproduction: 3 failures + 2 errors at reviewed HEAD. Added 8 regression methods; focused selection 9 passed, full temporal suite 56 passed, make check 58 passed, basedpyright 0 errors/warnings, lint/format/locked sync/whitespace all passed. uv build and 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 CONTINUE remains unchanged. Issue stays open; no merge/new issue/PR/main/release/deploy.

Remediated both blockers from the whole-PR review in existing [PR #4](https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/4), same branch `issue-3-temporal-proof`. Previous HEAD: `9b42e984440dfc3b53b20a0bc227bcdd12add154` New HEAD: `8da5e13bc48136d97344791187a2b652307a46d9` Base: `a1c3b8b12c08e54743612a9b74873da42251ae70`. - Newly supplied changed terms/interval for the same offer/source emit `OFFER_CHANGED` even 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. - Removed the invalid coupling of freshness/supersession boundaries to acquisition time. Re-retrieval after a boundary is representable without renewing freshness/reactivating superseded evidence. UTC normalization, timezone-awareness and other temporal validation remain. Regression-first reproduction: 3 failures + 2 errors at reviewed HEAD. Added 8 regression methods; focused selection **9 passed**, full temporal suite **56 passed**, `make check` **58 passed**, basedpyright **0 errors/warnings**, lint/format/locked sync/whitespace all passed. `uv build` and 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 `CONTINUE` remains unchanged. Issue stays open; no merge/new issue/PR/main/release/deploy.
Author
Member

Bounded native finish operation ended STOP_REVISE; no fourth remediation or merge.

Every review used base a1c3b8b12c. Initial 8da5e13bc4: REQUEST_CHANGES. After round 1 d86e9cdfd4: REQUEST_CHANGES. After round 2 1782d62e65: REQUEST_CHANGES. After round 3/final 303f5fe118: 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.

Bounded native finish operation ended STOP_REVISE; no fourth remediation or merge. Every review used base a1c3b8b12c08e54743612a9b74873da42251ae70. Initial 8da5e13bc48136d97344791187a2b652307a46d9: REQUEST_CHANGES. After round 1 d86e9cdfd4daff998b27f59411162a11845906a1: REQUEST_CHANGES. After round 2 1782d62e65571cab667479760566b9bf0978d389: REQUEST_CHANGES. After round 3/final 303f5fe118a592f3cf5e7ea47c5955625850ea28: 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; https://forgejo.creatidy.com/Creatidy/model-intelligence/pulls/4 remains unmerged.
adrian.tkacz added reference develop 2026-10-05 07:38:30 +00:00
adrian.tkacz removed reference develop 2026-10-05 07:38:35 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#3
No description provided.