Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Research audit handoffs of 2026-09-20 to 2026-09-25 have no record here: catalogue, what #31 repairs, what remains

Aperta
#35 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
tooling

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

  1. 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_IMPLEMENTER first, as the memory of this project already says it should.
  2. The owner's Drive mirror has one copy error: the document titled PV-AUDIT-FORGE-WINDOW-UPPER-BOUND-001 holds the text of PV-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 implements FORGE-WINDOW-01..08 from it.
Lingua principale
Python
Stelle
4
Fork
1
Merge medio
5g 12h
PR unite (30g)
3

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di drevendev/Devostasis

Tutte le issue di drevendev/Devostasis

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.