Research audit handoffs of 2026-09-20 to 2026-09-25 have no record here: catalogue, what #31 repairs, what remains
I maintainer di solito rispondono entro 9 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by reading the handoff document ANSWERS_TO_IMPLEMENTER and the full audit records for the listed open findings, checking each against the current master and repairs in PR #31. The catalogue names the remaining timestamp, lineage, store, transport, and configuration boundaries; group related findings into their planned repairs and update this issue as each is addressed. Done when every REPAIR REQUIRED finding has an implementation or a recorded reason it will not be adopted.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found by the review of 2026-09-25.
The finding
Since 2026-09-20 the research process has been running bounded static audits of this repository at master a8726f5, about one per hour, and recording each with a verdict and a named regression boundary. Between 2026-09-20 and today it produced roughly fifty of them, some forty with the verdict REPAIR REQUIRED. By its own rules it records them on Drive (the handoff document ANSWERS_TO_IMPLEMENTER and the owner's mirror folder) and does not open issues for members of a family it considers already tracked, which for most of them is #12. The result is that the repository had no record of them: no issue names them, the roadmap's standing obligation ("research finding: adopt it, or record why not, before continuing queued work") could not fire, and PR #31 claimed to adopt every delivered judgement while about forty findings sat next to it unread.
This issue is the catalogue, so the obligation can be worked from here. PR #31 repairs the first group; the rest are open.
Repaired in #31
| Unit | Repair |
|---|---|
PV-AUDIT-GITHUB-REPO-PAYLOAD-001, -COMMITS-, -CR-, -ISSUES-, -BRANCH-, -RELEASE-, -CI-PAYLOAD-001 |
every consumed field of a successful payload is typed evidence; a malformed row is ERROR / UNEXPECTED_PAYLOAD for that inventory alone; a probe reproduced 26 escaping shapes before, none after |
PV-AUDIT-REGISTER-STATE-001 (narrowing PV-AUDIT-REGISTER-SHAPE-001's state field) |
a register state outside the vocabulary is INVALID_REGISTER, never an open item |
PV-AUDIT-GITHUB-RETRY-HEADER-001 |
an unreadable wait hint is no hint; bounded backoff, then the answer's own classification |
PV-AUDIT-GITHUB-REDIRECT-AUTH-001 |
redirects are followed only to the configured API origin; the bearer token never leaves it |
PV-AUDIT-GITHUB-CACHE-INTEGRITY-001 |
devostasis.http-cache.v2 with a body digest per entry; a bad entry is a miss and one refetch |
PV-AUDIT-CANONICAL-NONFINITE-001, -DECIMAL-001, -UNICODE-001, PV-AUDIT-CANONICAL-JSON-PARSER-001 |
one strict decoder behind every canonical read |
PV-AUDIT-HISTORYSTORE-001 |
an unreadable index elsewhere fails the identity lookup instead of passing for absence |
PV-AUDIT-FLEET-INDEX-001, PV-AUDIT-FLEET-COVERAGE-001 |
an unreadable index, an unfollowable tail or a present but unreadable demand member stops the fleet surfaces |
PV-AUDIT-HISTORYSTORE-ATOMIC-PUBLICATION-001 |
atomic index replacement, index before copy, a stale copy is recovered rather than a gap |
PV-AUDIT-STORE-PATH-001 |
a locator derives a store path only as a name triple strictly beneath projects/; the configuration admits only names |
PV-AUDIT-STORE-BUNDLE-PATH-BINDING-001, PV-AUDIT-STORE-PROJECT-BINDING-001 |
a wrapper whose bundle_id or project_key disagrees with its manifest is refused before any write; the index tail is bound to its canonical path and to this project's identity |
PV-AUDIT-PROJECT-LOCATOR-ALIAS-001 |
case variants are one configured project; two locators the provider resolves to one repository are observed once per run |
PV-AUDIT-CONFIG-SHAPE-001 (the two concrete mismatches) |
activity.enabled must be a boolean, store an object |
Open, with the boundary each names
Timestamp and chronology family (runs 382 to 395). The researcher's cross-run conclusion is that timestamp authority is fragmented across parser, formatter, adapter, normalization and classifier, and that one strict instant-admission layer should replace independent checks. That is the right shape for the repair and it is not a one-evening change, so it is its own PR:
| Unit | Finding |
|---|---|
PV-AUDIT-TIMESTAMP-TIMEZONE-001 |
a timezone-naive timestamp is silently read as UTC; it must fail closed (TIME-TZ-01..08) |
PV-AUDIT-TIMESTAMP-GRAMMAR-001 |
parse_ts and exact_epoch_seconds do not share one lexical language (TIME-GRAMMAR-01..08) |
PV-AUDIT-TIMESTAMP-LEAPSECOND-001 |
v1 narrows to seconds 00..59; :60 fails closed; schema and runtime must agree (TIME-LEAP-01..08) |
PV-AUDIT-TIMESTAMP-NAIVE-DATETIME-001 |
formatting helpers accept naive datetime objects and depend on the host zone |
PV-AUDIT-TIMESTAMP-FRACTIONAL-ORDER-001 |
fractional seconds are truncated before ordering and window checks (FRACTIONAL-TIME-01..08) |
PV-AUDIT-MERGE-DURATION-ORDER-001 |
an inverted created_at -> merged_at is clamped to zero and can lower the Flow median (MERGE-ORDER-01..08) |
PV-AUDIT-OPEN-AGE-ORDER-001 |
a future-created open change request becomes age 0 (OPEN-AGE-ORDER-01..08) |
PV-AUDIT-COMMIT-WINDOW-UPPER-BOUND-001 |
commits after observed_at inflate Pulse; no committed_at <= observed_at guard (COMMIT-WINDOW-01..08) |
PV-AUDIT-FORGE-WINDOW-UPPER-BOUND-001 |
the same for merges, updates, issue and debt events (FORGE-WINDOW-01..08) |
PV-AUDIT-STALE-UPDATE-ORDER-001 |
updated_at < created_at inflates stale counts (STALE-UPDATE-ORDER-01..08) |
PV-AUDIT-BRANCH-HEAD-FUTURE-001 |
a branch head after observed_at is exact non-stale evidence (BRANCH-TIME-01..08) |
PV-AUDIT-OPEN-SNAPSHOT-ORDER-001 |
state=OPEN is trusted without created_at <= observed_at; can dilute Clutter and contaminate Debt (OPEN-SNAPSHOT-01..08) |
PV-AUDIT-CR-MERGE-STATE-CONSISTENCY-001 |
OPEN plus merged_at counts as both open and merged (CR-MERGE-STATE-01..08) |
PV-AUDIT-DEBT-LIFECYCLE-ORDER-001 |
a closed debt item whose closed_at is after observed_at or before opened_at leaves the open count (DEBT-LIFECYCLE-01..08) |
Verifier and lineage family (runs 337 to 348). These ask verification to dispatch on the exact stored lineage before interpreting a member, and to validate each member structurally under that lineage: PV-AUDIT-BUNDLE-LINEAGE-001, PV-AUDIT-MANIFEST-SHAPE-001, PV-AUDIT-MANIFEST-PREIMAGE-BINDING-001 (the renderer_version replay-skip bypass is concrete), PV-AUDIT-OBSERVATION-LINEAGE-001 (saved observations are not dispatched on schema / observation_contract_version), PV-AUDIT-VECTOR-LINEAGE-001, PV-AUDIT-SNAPSHOT-LINEAGE-001 (Vital order and uniqueness not enforced), PV-AUDIT-DEMAND-LINEAGE-001, PV-AUDIT-OBSERVATIONS-MEMBER-LINEAGE-001, PV-AUDIT-SEMANTIC-CONFIG-BINDING-001, PV-AUDIT-RECEIPT-DIGEST-BINDING-001, PV-AUDIT-SNAPSHOT-MANIFEST-BINDING-001, PV-AUDIT-GAUGE-SNAPSHOT-BINDING-001. Several overlap #12 finding 4, which 0.1.9 repaired in part (the metadata binding); the lineage dispatch itself is the accepted compatibility policy's job (PV-COMPAT-002, see the Phase B/C issue), so this family is best done together with that adoption rather than piecemeal.
Store and transport, remaining: PV-AUDIT-HISTORYSTORE-CONCURRENCY-001 (no same-project writer serialization; concurrent commits can race on latest.staging), PV-AUDIT-HISTORYSTORE-RENAME-RECOVERY-001 (relocation happens before the new bundle, copy and index are complete; a failure mid-way leaves a moved directory), PV-AUDIT-GITHUB-PAGINATION-LINK-001 (an exact-cap full final page is reported PARTIAL although the absence of rel="next" proves completeness; GH-PAGINATION-LINK-01..06), PV-AUDIT-RENDER-OBSERVABILITY-TRUTHFULNESS-001 (the observability section of the report), PV-AUDIT-REGISTER-SHAPE-001 beyond the state field (target-id pattern, duplicate members in register JSON, full schema validation), PV-AUDIT-CONFIG-SHAPE-001 beyond the two concrete mismatches (complete schema validation before defaults).
Produced today (runs 397 to 403), read only through their one-line handoffs, so each needs reading in full against the new head before it is worked: PV-AUDIT-GITHUB-RESPONSE-SIZE-001 (the transport must bound raw response bytes from the stream before parsing, on 2xx and error paths alike, and surface overflow as ERROR / RESPONSE_TOO_LARGE; GH-RESPONSE-SIZE-01..08), PV-AUDIT-CLI-PROVIDER-ENDPOINT-001 (ENDPOINT-BINDING-01..08), PV-AUDIT-GITHUB-CACHE-CONTEXT-001 (cache entries must be namespaced by the normalized API base and representation context before configurable endpoints exist; GH-CACHE-CONTEXT-01..08), PV-AUDIT-GITHUB-BASE-TLS-001 (fail-closed validation of a configured provider base before transport dispatch; GH-BASE-TLS-01..08), PV-AUDIT-GITHUB-CHECK-SUITES-PAYLOAD-001 and PV-AUDIT-GITHUB-PAGINATED-ROW-SHAPE-001 (the check-suite and per-row shapes #31 now validates; to be checked case by case against GH-CHECK-SUITES-PAYLOAD-01..08), and PV-AUDIT-TARGET-MARKER-SYNTAX-001 (the Target: marker must be parsed as a standalone configured syntax, not as text embedded in a larger token such as SubTarget: B1; LINK-MARKER-01..08; it also assumes the state-neutral linkage of the Direction repair tracked in #33).
Verified non-findings, for the record: PV-AUDIT-STORE-IMMUTABLE-COLLISION-001, PV-AUDIT-GITHUB-PAGINATION-STOP-001, PV-AUDIT-CANONICAL-NUMBERS-001, PV-AUDIT-REPORT-RENDER-BINDING-001.
Two process observations
- The research side's deduplication rule ("same family as #12, no new issue") makes #12 the nominal home of some thirty findings that nobody reading #12 can see. The obligation in the roadmap is only workable if every REPAIR REQUIRED unit has a line somewhere in this repository. Proposal: this issue is that place until each family has its own PR, and the implementation side (not the researcher) keeps it current when it reads the handoff document; a session that starts here reads
ANSWERS_TO_IMPLEMENTERfirst, as the memory of this project already says it should. - The owner's Drive mirror has one copy error: the document titled
PV-AUDIT-FORGE-WINDOW-UPPER-BOUND-001holds the text ofPV-AUDIT-CANONICAL-DECIMAL-001. The research status report for runs 385 to 396 already notes "an accidentally copied 03 - Work document remains non-authoritative"; the mirror copy should be replaced from the canonical one before anyone implementsFORGE-WINDOW-01..08from it.
- Lingua principale
- Python
- Stelle
- 4
- Fork
- 1
- Merge medio
- 5g 12h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di drevendev/Devostasis
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
drevendev/Devostasis#25 ·
I maintainer di solito rispondono entro 9 giorni
-
good first issue hacktoberfest help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 56/100
drevendev/Devostasis#78 ·
I maintainer di solito rispondono entro 9 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
drevendev/Devostasis#77 ·
I maintainer di solito rispondono entro 9 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
drevendev/Devostasis#76 ·
I maintainer di solito rispondono entro 9 giorni
-
Offline Git collection: isolate inherited repository context and credential environmentForse già presa @abogun-product l’ha presa 13 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
drevendev/Devostasis#74 ·
I maintainer di solito rispondono entro 9 giorni
Tutte le issue di drevendev/Devostasis
Issue simili
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yunaremaia/agent-capability-attestation#64 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
yunaremaia/agent-call-graph#43 ·
I maintainer di solito rispondono entro 1 giorno