idkmesh

Conversation record — Phase B2 successor first-five v2 scaffold

Date: 2026-08-28

Repository: MSKazemi/idkmesh

User direction

The user asked the project to continue development of the public IDKMesh repository.

Starting state

The earlier Phase B2 first-five v1 pilot remains burned after its frozen evaluator was shown to be defective. Task 001 is already known and cannot be reused as untouched held-out evidence.

The evaluator stack has since advanced through explicit versioning and calibration:

Issue #157 was therefore closed completed and the next dependency became a genuinely new successor benchmark definition.

Successor tracker

Issue #180 was created:

Phase B2 successor: calibrate and freeze first-five v2 cohort

The issue fixes the candidate task source snapshot to:

a69aa0ae1ae4862e507511cbd9ad854237d0ad32

This source snapshot is intentionally older than later control-plane/scaffold commits. The task-under-test state and the benchmark-definition state are separate provenance roles.

Five new task hypotheses

The successor deliberately does not recycle the burned five tasks.

Surface: tools/benchmark_cohort.py

Family: bug_fix

Observed mechanism: resolve_repo_file() resolves the path before checking is_symlink(). A direct in-repository symlink can therefore lose its symlink identity before the guard is evaluated.

Target behavior:

V2-002 — free-compute non-finite values

Surface: experiments/free_compute_router.py

Family: test_failure

Observed mechanism: Python json.loads accepts non-standard constants such as NaN by default, while comparisons with non-finite values can fail open. Non-finite cost/probability/resource inputs must not enter zero-spend eligibility/ranking.

Target behavior:

V2-003 — branch audit without observed current head

Surface: tools/branch_convergence_audit.py

Family: bounded_feature

Observed mechanism: the merged-PR match branch currently treats head_sha is None as satisfying head-match logic, even though cleanup policy is supposed to depend on an exact observed current head.

Target behavior:

V2-004 — RWVB non-finite numerical domain

Surface: experiments/verification_backpressure.py

Family: benchmark

Observed mechanism: several numeric guards use inequalities only. Some non-finite values can evade those tests and poison verification debt, priority, or generation-fanout arithmetic.

Target behavior:

V2-005 — local compute discovery output authority

Surface: experiments/local_compute_offer.py

Family: security

Observed mechanism: the module states discovery-only/no-canonical-write authority, but --output is converted directly to Path and written without a repository/results boundary.

Target behavior:

Scientific design decision: scaffold before freeze

The new cohort is deliberately introduced as a mutable scaffold, not as a frozen benchmark.

Required progression:

bounded WorkUnit
 -> provisional public EvaluatorPlan v0.4
 -> straightforward reference calibration
 -> inert/Goodhart near-miss calibration
 -> task-specific behavioral regression where safe
 -> only then freeze definition digest
 -> only after freeze generate scored candidates

A v0.4 static transition result is treated as a proxy, not a universal correctness oracle.

Calibration candidates are explicitly non-benchmark evidence.

Scaffold branch and PR

Branch:

benchmark/phase-b2-successor-v2-scaffold-current

PR:

#185 — Scaffold calibrated Phase B2 successor first-five v2

The scaffold contains:

Unfrozen invariants

The scaffold intentionally has:

The workflow also prints a digest preview only for observability. A preview is explicitly not a freeze.

Cross-object digests in the scaffold

WorkUnit digests:

Provisional EvaluatorPlan digests:

These evaluator digests are provisional until calibration. Changing a plan before freeze must update the scaffold index; after freeze, semantic changes require a new cohort/version rather than silent replacement.

CI state at archive time

PR #185 exact head:

7754b7b65ba0694636cb685f30ace7a68c2cdb02

At the time this record was written:

The PR must not be merged based on this record alone. Its dedicated cross-object/scaffold gate must complete successfully first.

Next step

Once #185’s scaffold validator is green and the PR is integrated, begin calibration with V2-001 (symlink boundary) or another task one at a time. Do not generate scored benchmark candidate outcomes yet.

The successor cohort may be frozen only after all five evaluator calibration gates are green.

This five-task scaffold is an engineering bootstrap, not a statistical-power claim and not a substitute for issue #70’s larger real-coding corpus.

Authority boundary

No work in this continuation grants workers or verifiers: