Skip to content

Accepted research repairs of the Vitals not yet adopted: Direction closed-target and incomplete, Debt partial, Horizon partial, Integrity totality, T9 #33

Open

Description

@drevendev

Found by the review of 2026-09-25, which read the research registry and the handoff document rather than only the issues routed here.

The roadmap's standing obligation says an accepted unit this repository has not adopted comes before queued work. PR #31 adopted the ones that had been routed through issues (#9, #13, #21, #22, #26 after its review). The registry holds more accepted repairs of the Vitals that no issue ever named, some of them accepted on 2026-09-07. This issue is the list, so that adoption is tracked here and the roadmap can point at it.

Unit Verdict What it requires Notes
PV-REV-DIRECTION-CLOSED-TARGET-001 REPAIR REQUIRED (2026-09-06) Direction linkage becomes state-neutral: an active change request linked to a target that resolves in the planning surface stays linked when that target closes; a deleted or unknown target id stays unlinked or unresolved. Versioned Direction rule_id, cases DIR-CLOSED-01..09. Horizon keeps counting open targets only This is calibration finding 9 (ROADMAP), which the fleet confirmed on 2026-09-06. It changes the classifier input, today planning.linkage.active_change_requests_linked_to_open_target_count_28d; the judgement allows the old key to stay as presentation but not as the classifier's authority. PV-REV-REGISTERS-001 case REG-04 ("a marker referencing a closed target is not linked-to-open-target") is superseded by this repair and needs to be read together with it
PV-DEBT-PARTIAL-001 ACCEPTED by PV-REV-DEBT-PARTIAL-001 Configured Debt with PARTIAL register evidence: confirmed_open = 0 is UNKNOWN with no band, confirmed_open > 0 is DEGRADED / PRESENT / EXACT; never CLEAR from a zero subset. Versioned Debt rule_id, cases DEBT-PARTIAL-01..16 Today debt.py already emits DEGRADED / PRESENT / CONSERVATIVE_LOWER_BOUND for a partial positive count and UNKNOWN otherwise; the accepted semantics differ in the EXACT claim (PRESENT is terminal) and in the named cases
PV-HORIZON-PARTIAL-001 ACCEPTED by PV-REV-HORIZON-PARTIAL-001 Bounded subset PARTIAL target enumeration: PH0/PH1/PH2 remain UNKNOWN with no band because the admissible completions cross unordered Horizon bands; the accepted exceptions are in the contract. Versioned Horizon rule_id, cases HOR-PARTIAL-01..16 Today horizon.py sends every non-good input to UNKNOWN, which is the conservative reading; the cases need transcribing and the exceptions the contract names need implementing
PV-DIRECTION-INCOMPLETE-001 ACCEPTED by PV-REV-DIRECTION-INCOMPLETE-001 Complete active population with incomplete per-change linkage derives LINKED / UNLINKED / UNRESOLVED; a singleton completion-set band is DEGRADED / <band> / EXACT, a multi-band completion is UNKNOWN. Versioned Direction rule_id, cases DIR-INCOMPLETE-01..16 Today unreadable linkage evidence fails the project (LinkageEvidenceError), which PV-SPEC-001 recorded as the conformant option short of adopting this contract. Adopting it means continuing through incomplete linkage instead
PV-INT-TOTALITY-001 ACCEPTED by PV-REV-INT-TOTALITY-001 VERIFY_UNRESOLVED totalizes without a fabricated pass fallback: an already established historical FAILING predicate under a current unresolved revision yields DEGRADED / FAILING / EXACT. Cases INT-TOTAL-01..14 Partly overlaps the unresolved superset 0.1.9 derives mechanically (#12 finding 3); the cases decide whether that derivation is the accepted one
PV-TEST-004 (PV-T9-GEN-003) ACCEPTED by PV-REV-TEST-004 The final T9 decision-equivalence reconciliation: every former gap identifier reconciled from accepted truth; T9 is one permanent meta-case over the substitution matrix Needs the variants shape 0.1.9 added, plus the Debt/Horizon/Direction/Integrity/Clutter totality repairs above, because T9's partition is defined over their outputs
PV-REV-RECEIPT-IDENTITY-003 ACCEPTED (cumulative PV-BUNDLE-ID-003) The fifth identity move: an authoritative receipt_identity in the manifest regardless of the observations toggle, verifier recomputation of source_receipts_digest, historical dispatch Issue #19; the owner said a fifth identity move needs the owner to want it, and it must not break the verification of the 308 stored bundles. Listed here for completeness, not as a request to proceed

Order I would propose, because each Vital's rule id moves once per adoption and a Vital that moves twice costs the fleet two RULE_VERSION_BOUNDARY rows: Direction closed-target and Direction incomplete together (one Direction rule version), then Debt partial, Horizon partial and Integrity totality (one release), then T9 once the five totality repairs are in. docs/spec/PROVENANCE.md and conformance.md get a row per unit, as 0.1.9 did for Clutter.

Sources: the research registry (UNIT_REGISTRY) and the accepted documents in the owner's Drive mirror; none of these units has a public thread of its own, which is why this issue exists.

Activity

  1. drevendev commented on Sep 30, 2026

    @drevendev
    OwnerAuthor

    PV-INT-TOTALITY-001 is adopted in #49, under the same unreleased rule integrity.bands.v1+ci-unit-004, so 0.1.9 moves the Integrity rule once rather than twice. It replaces the unresolved superset #31 had derived for #12 finding 3, which the review of 2026-09-30 (#48) found could omit the band it emitted. INT-TOTAL-01..06 and 08..13 are executable vectors transcribed from the contract's required cases; INT-TOTAL-07 needs a RAW_RUNS sample path and INT-TOTAL-14 a GitLab adapter, and conformance.md says so.

    Still open in this issue: Direction closed-target and incomplete (one Direction rule version for both), Debt partial, Horizon partial, and the T9 reconciliation. #39 adds one thing to the Debt and Horizon adoptions: a PARTIAL value should be admitted as a lower bound only with the subset proof Clutter now requires (OBSERVED_SUBSET_COUNT).

    🤖 Generated with Claude Code

  2. drevendev commented on Sep 30, 2026

    @drevendev
    OwnerAuthor

    Adopted in #53, the 0.2.0 release pull request, which closes this issue when it merges:

    • Direction closed-target and incomplete, one rule version: direction.bands.v2, DIR-CLOSED-01..09 and DIR-INCOMPLETE-01..16 as vectors. The acceptance of PV-DIRECTION-INCOMPLETE-001 narrowed DIR-CLOSED-04: a positively missing target is unlinked (DIRECTION_TARGET_REFERENCE_MISSING), an unresolvable one unresolved; LinkageEvidenceError is gone, so unreadable linkage no longer fails a project.
    • Debt partial: debt.bands.v2, DEBT-PARTIAL-01..16, with the subset proof of PARTIAL values are lower bounds in Pulse and Debt without the subset proof Clutter now requires, and the derivation rewrites their cause #39.
    • Horizon partial: horizon.bands.v2, HOR-PARTIAL-01..16 (HOR-PARTIAL-15 through the new expect.rejected).
    • T9 (PV-TEST-004): a generator of about 1,270 cells over the nine former gap families holds each cell to the accepted table; the T9v2 cell-key vectors remain the research process's.

    Measured on a copy of the fleet store: this repository reads Direction MIXED, 9 of 18 active changes traced, where the open-target count said 4 of 18 (SCATTERED), which is calibration finding 9 repaired. PV-REV-RECEIPT-IDENTITY-003 (#19) stays with the owner, as this issue said.

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions