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

Review of 2026-09-30: what was found, what the release now repairs, and why 0.1.9 has to ship before 0.2.0

Aperta
#48 1 commento 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
10/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
github-actions, python
Ambito
backend, devops

Direzione di ricerca

The issue summarizes completed release repairs and points to #47 for the proposed 0.2.0 process change, but it does not specify a code change or acceptance criteria of its own. Read #47 and the project’s release workflow files to identify any concrete follow-up; done would need to be defined by a scoped task with verifiable outcomes.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Scope and method

Reviewed the head of #31 (8dbf5b9, the unreleased 0.1.9 on top of release/0.1.9 and master = v0.1.8) on 2026-09-30, in five parallel passes (history and store; the GitHub adapter and transport; bundle, verification, configuration and CLI; the Vitals, normalization and vector runner; workflows, packaging, documentation, schemas and the repository's own self-observation), plus the research handoffs recorded on Drive since #35 was written. Every finding below was reproduced with a probe against the fake transport or a copy of a real store before it was called one; the research documents and this repository's issues were searched first, and what they already name is listed as known rather than found.

State at the start:

Gate Result
tests on Python 3.14 565 passed
vectors 64 passed
sample bundle and the fleet's 308 stored bundles all verify
CI on the last push of #31 green on 3.12, 3.13, 3.14
Released pins resolve (daily), Self-observation (weekly) green
fleet (devostasis-history daily Observe) refused by GitHub billing every day since 2026-09-11 (#32): twenty days without a bundle
last release v0.1.8, 2026-09-07; master unchanged since
open pull requests #29 (release/0.1.9), #31 (into it), #36 and #37 (Hungry Crab)

Findings and where they went

P1: a verified artifact or a comparison says something false. P2: evidence completeness, a crash, data loss or an operational defect. P3: documentation or hygiene.

Blockers of #31, repaired on #31 and merged:

No. P Finding Where
1 P1 a bundle that lost its manifest renderer_version kept its id, skipped the report replay and verified with any report (PV-AUDIT-MANIFEST-PREIMAGE-BINDING-001, re-validated by andy-zen-dev on 2026-09-26) #31: presence and equality under an exact lineage table
2 P1 clutter.bands.v1 promoted any fresh PARTIAL count to a floor on its status alone (PV-REV-PR-031-003, research run 408, recorded on Drive only) #31: OBSERVED_SUBSET_COUNT proof, CLU-PARTIAL-TRUST-01..08
3 P3 the roadmap commit 8dbf5b9 had swept in .crab.yml, .crab/ledger.json and the content of #36 and #37 from the working tree of a Hungry Crab run #31: taken out; the configuration and ledger are offered in their own pull request

Repaired in the review pull request against release/0.1.9:

No. P Finding
4 P1 Integrity's unresolved superset, new in 0.1.9, emitted a band outside its own possible_bands in 777 of 7,029 shapes (the commonest: one workflow passed, one still running) and missed reachable bands; replaced by the accepted PV-INTEGRITY-TOTALITY-001 (#33), INT-TOTAL-01..06/08..13 executable
5 P1 deleting delta.json or snapshot.json with its manifest entry kept the id, stopped the replay and verified with any report
6 P1 without source_receipts_digest in the preimage the receipt binding was skipped; each lineage now has an exact preimage field set
7 P1 manifest.adapters, printed in the report, was bound to nothing
8 P1 without an index, the scan skipped an unreadable newest bundle: a false COMPARABLE against an older one, or a false BASELINE
9 P1 a filtered /actions/runs query stops at 1,000 results and answers the next page empty, which read as complete: a busy repository's oldest failures vanished from an AVAILABLE series
10 P2 ci.configured could be a positive false over a revision the request budget refused
11 P2 a listing that shifted between pages counted commits and runs twice, as complete evidence
12 P2 http.client failures, a timeout reading an error body, JSON nested past the decoder's depth, out-of-range instants, malformed register files and untyped run/suite fields escaped the inventory boundary and cost the project its bundle
13 P2 Pulse crashed (IndexError) when a capped enumeration covered all 29 UTC dates of its window; its completion grid also missed the QUIET threshold
14 P2 Debt read a stale partial register as a PRESENT lower bound
15 P2 gap reasons carried absolute paths and exception texts into the delta: the same damage gave a different bundle id per checkout
16 P2 a repository named index.json broke every identity lookup of a store
17 P2 fleet surfaces truncated before written; a fleet-surface error hid every project's result of run; a cache that could not be saved ended the run; six commands answered a missing input with a traceback
18 P2 released-pins.yml ran on push to master, so its one push run failed 72 s before v0.1.8 was tagged and made this repository's own Integrity FAILING for two weeks
19 P3 verify said "report reproducibility all match" for 74 stored bundles whose report it cannot replay
20 P3 the vector runner accepted expectations that state nothing; the published vector schema rejected 39 of the 64 vectors the runner accepts
21 P3 README's self-observation snippet lacked the permissions GitHub requires; observe-self.yml interpolated a ref into the shell and mangled debt labels through xargs; stale docs (fleet table, vectors page, debt D-1, --now, CONTRIBUTING); a test that slept three real seconds; tests tied to the working directory

Filed as issues:

Issue P Finding
#38 P1 a saved observation set's aggregate that contradicts its own inventory builds a bundle that verifies; plus the caveat that research run 404's receipt invariant, as stated, rejects every set this implementation writes
#39 P2 Pulse and Debt read PARTIAL values as lower bounds without the proof Clutter now requires; the derivation rewrites the cause (for:researcher)
#40 P1 every default-branch workflow run is "verification", scheduled and bot runs included (live: 27 of 40 runs on master are schedule); a dormant repository with external CI is UNINSTRUMENTED (for:researcher)
#41 P2 a backfilled older observation is published as the newest (latest/, relocation, rename log); an id-less build erases a recorded identity
#42 P2 activity counts verification from a 14-day inventory over a 28-day interval without saying so (for:researcher)
#43 P2 Clutter's gauge of an incomplete cell counts branches the rule refused (for:researcher)
#44 P2 titles from the observed repository are live Markdown in report.md; the fleet surfaces drop the gauge qualifier
#45 P2 fleet defaults merge one level deep (one demand mapping_version names two tables); the config schema accepts what the engine rejects
#46 P3 the reports of earlier renderers are not replayed; freeze render.v1..v3 before render.v5
#47 — the 0.2.0 candidate specification the owner asked for today, mapped onto this repository

Research handoffs since #35 (runs 404 to 410) are catalogued in a comment there, together with two payload units #31 had only started (REGISTER-PAYLOAD, now mostly repaired, and MILESTONE-PAYLOAD, still open).

The state of the project, read from its own Vitals

The self-observation of this repository says what the release history says, if one knows how to read it. Pulse SURGING and Flow MOVING come from a three-day burst (2026-09-05..07: 45 commits on master, nine releases), which is still inside the 28-day window; master has not moved since, and 0.1.9 (57 files, some 7,000 lines) waited in stacked pull requests for eight days. Integrity reads NO_RECENT_RUNS because no revision landed in 14 days, while 27 scheduled runs sat green on the head (#40). Direction SCATTERED is mostly an artefact of the unadopted closed-target repair (#33): five of the eight pull requests that carry a Target: line name targets that have since closed. Next week Pulse drops as the burst leaves the window and debt items D-4 and D-5 turn stale (D-1 would have too; the review corrected its text, which said no vector existed, and that update restarts its clock). No Vital says "delivery stalled", and none should; but all of them worsening together is that signal.

Process observations

  • Releases are starving. The research process runs a bounded audit about every hour and finds something real most times; each new finding reopened a large pull request that was about to merge. #47 proposes the fix that the 0.2.0 candidate itself asks for: small pull requests per package, merged as they are done, with research review after the fact rather than before every merge.
  • Research findings still land only on Drive. Run 408 was a merge blocker for #31 and exists only in the handoff document ("publication unavailable because the required pre-dispatch action receipt could not be durably written"). The implementation side has to keep reading ANSWERS_TO_IMPLEMENTER first; #35 stays the place where those handoffs get a line here.
  • The research process reviews as drevendev as well as andy-zen-dev (its own review text says so), so a review by the owner's account is not necessarily the owner's.
  • A tool run shared a working tree with a release branch (finding 3). Running such tools in a separate worktree avoids it.

What is solid

Every repair of the last three weeks that was probed held: tail containment and identity binding across two projects, atomic index publication and stale-copy recovery, the strict canonical decoder, redirect containment, cache integrity, the equal-timestamp NON_MONOTONIC_OBSERVATION boundary, and the band-ordering precedence. The Clutter rule survived a brute force over 9,408 inputs without one false exact, lower- or upper-bound claim under its premise. The examples regenerate byte for byte and two builds of the same evidence give one bundle id. The failures above were all found by reading one function against one sentence of the specification and writing a ten-line probe, which is what the separation of observation, evaluation, artifact and presentation makes possible.

🤖 Generated with Claude Code

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.