Skip to content

chore(physics): honest-provenance cleanup — demote P5, drop fake-precision score, enforce SPECULATIVE != P0/P1#414

Merged
neuron7xLab merged 1 commit intomainfrom
chore/honest-provenance-cleanup
Apr 26, 2026
Merged

chore(physics): honest-provenance cleanup — demote P5, drop fake-precision score, enforce SPECULATIVE != P0/P1#414
neuron7xLab merged 1 commit intomainfrom
chore/honest-provenance-cleanup

Conversation

@neuron7xLab
Copy link
Copy Markdown
Owner

What and why

Self-audit found four lapses in the seven schema PRs from the previous session. This PR addresses all four.

(a) INV-OBSERVER-CPT (P5) demoted. Tautological schema, no peer-reviewed model cited. Moved to `examples/observer_cpt_schema_demo.py` with explicit DEMO ONLY header. Removed from registry; removed its tests.

(b) Dropped `TRUTH_COHERENCE_SCORE: float`. Vibes-derived numbers (0.9 / 0.6 / 0.55 / 0.3) presented as quantitative. Replaced with discrete `PROVENANCE_TIER: Literal["ANCHORED", "EXTRAPOLATED", "SPECULATIVE"]`. No fake precision.

(c) Validator enforces tier vs priority. `validate_tests.py --self-check` check #5: SPECULATIVE invariants cannot carry P0 or P1 priority. P2 is informational; that is the highest tier a SPECULATIVE invariant may carry. Now active in CI self-check path.

(d) Session claim restated. Was: "operationalized 7 fundamental physics problems". Honest: 6 contract schemas (2 ANCHORED, 4 EXTRAPOLATED), 1 demoted to demo.

Quality gate

Gate Result
pytest (4 modules, 59 functions) 59/59 PASS
ruff check clean
ruff format --check clean
black --check clean
mypy --strict clean
validate_tests.py --self-check PASSED, 80 invariants, check #5 active

Honest stack post-merge

  • ANCHORED (P0): INV-ARROW-OF-TIME, INV-BEKENSTEIN-COGNITIVE
  • EXTRAPOLATED (P1): INV-OBSERVER-BANDWIDTH, INV-COSMOLOGICAL-COMPUTE, INV-JACOBSON-OBSERVER, INV-SIMULATION-FALSIFICATION
  • Demoted to demo (no registry weight): INV-OBSERVER-CPT

…ision score, enforce SPECULATIVE != P0/P1

Honest self-audit found four lapses in the seven physics-schema PRs from
this session:

(a) INV-OBSERVER-CPT (P5) was a tautological schema with no peer-reviewed
    model — shipped as a P2 invariant alongside ANCHORED entries. Demoted.
(b) `TRUTH_COHERENCE_SCORE: float` introduced fake precision (vibes-derived
    numbers like 0.9 / 0.6 / 0.55 / 0.3 dressed as quantitative). Dropped.
(c) Validator did not enforce that SPECULATIVE invariants stay below
    fail-closed tier. Now it does.
(d) Session-level claim "operationalized 7 fundamental physics problems"
    overstated schema work as derivation work. Restated honestly: 6
    contract schemas remain — 2 ANCHORED, 4 EXTRAPOLATED, 0 SPECULATIVE
    (the seventh, P5, is now a demo not a registered invariant).

Changes:

- Moved core/physics/observer_cpt_asymmetry.py →
  examples/observer_cpt_schema_demo.py with explicit DEMO ONLY header.
  Removed tests/unit/physics/test_observer_cpt_asymmetry.py.
  Removed pncc.observer_cpt block from .claude/physics/INVARIANTS.yaml,
  with a note pointing at the demo file.

- In core/physics/{arrow_of_time, observer_bandwidth,
  cosmological_compute_bound, jacobson_observer_coherence}.py:
  replaced
      PROVENANCE_LEVEL: str = "..."
      TRUTH_COHERENCE_SCORE: float = 0.X
  with
      PROVENANCE_TIER: Literal["ANCHORED", "EXTRAPOLATED", "SPECULATIVE"] = "..."
  Discrete tier; no float score. Updated test files to assert
  PROVENANCE_TIER and dropped the floor/ceiling float assertions.

- In .claude/physics/INVARIANTS.yaml: dropped all four
  `truth_coherence_score:` lines. Kept `provenance:` field as the
  canonical tier indicator.

- In .claude/physics/validate_tests.py::_self_check: added check #5 —
  SPECULATIVE invariants cannot carry P0 or P1 priority. Validator
  reports FAIL with the offending IDs if found.

Quality gates:
  pytest (4 modules)                   59/59 PASS
  ruff check                           clean
  ruff format --check                  clean
  black --check                        clean
  mypy --strict (5 modules + tests)    clean
  validate_tests.py --self-check       PASSED — 80 invariants loaded,
                                       check #5 confirms 0 SPECULATIVE
                                       at P0/P1.

Honest stack as of this PR:
  ANCHORED:      INV-ARROW-OF-TIME (P0)
                 INV-BEKENSTEIN-COGNITIVE (P0)
  EXTRAPOLATED:  INV-OBSERVER-BANDWIDTH (P1)
                 INV-COSMOLOGICAL-COMPUTE (P1)
                 INV-JACOBSON-OBSERVER (P1)
                 INV-SIMULATION-FALSIFICATION (P1, registry/statistical)
  Demoted:       INV-OBSERVER-CPT → demo, no registry weight.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@neuron7xLab neuron7xLab merged commit d48bacf into main Apr 26, 2026
12 checks passed
@neuron7xLab neuron7xLab deleted the chore/honest-provenance-cleanup branch April 26, 2026 08:36
neuron7xLab added a commit that referenced this pull request Apr 26, 2026
…416)

Critical-cognitive-engineering-perfectionism encoded in the validator:
the same failure modes the kernel just cleaned up should not be
reintroducible without the validator catching them. Two new checks.

Check 6 — fake-precision regression guard:
  Scans .claude/physics/INVARIANTS.yaml AND core/**/*.py for
  `truth_coherence_score:` / `TRUTH_COHERENCE_SCORE`. Either reintroduces
  the float-as-confidence pattern that PR #414 removed in favor of
  discrete PROVENANCE_TIER. FAIL if any hit.

  Verified by injection test: appending "truth_coherence_score: 0.42" to
  the YAML triggers FAIL with exit code 1; reverting restores PASS with
  exit code 0.

Check 7 — source/tests path integrity:
  Each invariant declares `source:` and `tests:` paths. Validator
  resolves them on disk; missing paths FAIL. Strips optional
  `::symbol` anchor (function/class inside a file) before existence
  check.

  This check found a real deviation immediately: INV-DRO1's source
  field is `core/dro_ara/engine.py::derive_gamma`, which the strip
  handles correctly. Going forward, file moves or typos surface at
  self-check time instead of at consumer time.

Both new checks integrate with the existing failure-aggregation pattern
and contribute to the FAIL exit code when violated. The previous five
checks (load count, dispatcher coverage, regex consistency, theory
cross-ref, SPECULATIVE-misranked guard) remain unchanged.

Quality gates:
  ruff check / ruff format / black / mypy --strict     clean
  validate_tests.py --self-check                       PASSED, 7/7
  injection regression test (truth_coherence_score)    detected, exit 1

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant