Commit Graph
15 Commits
Author SHA1 Message Date
ed 0908f8fa28 conductor(track): init twitter_threads_extraction_20260705 — standalone Twitter/X thread extraction tooling
Scripts + workflow for extracting Twitter/X posts and threads into
Markdown with associated media. Mirrors the scripts/video_analysis/
pattern. Standalone requirement: zero imports from src/, conductor/,
or scripts.video_analysis — copy-pasteable to another repo with only
gallery-dl as the external dep.

5 modules: __init__.py, error_types.py (Result[T, ErrorInfo] +
ThreadData/PostData typed dataclasses), fetch_thread.py (gallery-dl
subprocess for URLs + html.parser fallback for local HTML),
download_media.py (stdlib urllib, idempotent), render_markdown.py
(YAML front-matter + per-post sections + ./media/ links).

Reference project: C:\projects\forth\bootslop — the corpus feeds
bootslop's scripts and reference-generation pipeline. Acceptance
corpus: 8 threads (@NOTimothyLottes x6 + @VPCOMPRESSB x2) extracted
to tests/artifacts/twitter_threads_corpus/. The ?s=20 quote-share
suffix on the @VPCOMPRESSB URLs must be stripped by fetch_thread.py
before acquisition (added to FR2 as URL normalization).

5 phases / 23 tasks. 8 verification criteria (VC1-VC8). TDD red-first
on the pure-function modules (render_markdown, types, media naming).
2026-07-05 16:50:05 -04:00
ed 4c9fc99cd4 docs(chronology): switch to manual maintenance; delete generator scripts; archive review report
Deleted scripts/audit/generate_chronology.py + chronology_quality_gate.py
after repeated corruption incidents (auto-classifier drifted from
user intent, silently rewrote rows). chronology.md is now maintained
by hand: add a row at the top when a track ships/abandons/is archived.

Updated conductor/workflow.md §Chronology Maintenance and
conductor/tracks.md §Archiving a track to reflect manual maintenance.

Added 40 rows to conductor/chronology.md for the 2026-07-05 archive
batch, with archive-folder paths and deferral notes where applicable.

Removed 12 archived-track rows from conductor/tracks.md Active Tracks
table (rows 2, 3, 7c, 16, 17, 23b, 23c, 23d, 25, 26, 29, 29c) and
their track-detail anchors.

Wrote docs/reports/ARCHIVE_REVIEW_20260705.md: a categorized index
of unfinished work items from the archived tracks' state.toml files
that remain relevant to the codebase, with a ranked follow-up list.
2026-07-05 16:17:13 -04:00
ed 068411ee0b Revert "docs(chronology): regenerate after directive_hotswap_harness_20260627 phase-1 commit"
This reverts commit bfebb71871.
2026-07-02 22:46:07 -04:00
ed bfebb71871 docs(chronology): regenerate after directive_hotswap_harness_20260627 phase-1 commit 2026-07-02 22:27:04 -04:00
ed a9b9cf3960 fix(chronology): final classifier — work commits OR 'complete' in messages = Completed; 0 evidence = Abandoned (200 Completed / 10 Abandoned / 0 Needs Review) 2026-07-02 09:33:02 -04:00
ed b803f56d58 fix(chronology): honest classifier — archive tracks without completion evidence are Needs Review (not completed, not abandoned) 2026-07-02 09:13:20 -04:00
ed 864100b4a7 fix(chronology): archive = completed (the git mv IS the completion signal; don't guess Abandoned) 2026-07-02 08:56:15 -04:00
ed 792dd7d430 fix(chronology): mark genuinely-ambiguous archive tracks as Needs Review instead of guessing Abandoned (work may be in src/ not track folder) 2026-07-02 08:24:25 -04:00
ed cc23a0586d fix(chronology): add 'mark as completed' + archive-move heuristic for old tracks without state.toml 2026-07-02 08:17:54 -04:00
ed ebd4704324 fix(chronology): respect state.toml status as override + plan-progression heuristic for old archive tracks 2026-07-02 08:14:30 -04:00
ed f5a08634b3 feat(chronology): regenerate chronology.md with v2 git-history classifier (closes 5-day desync gap) 2026-07-01 23:50:19 -04:00
ed ab63a5a243 conductor(chronology): add 2026-06-25/26/27 entries for c11_python docs sync + tracks 2026-06-25 21:43:25 -04:00
ed 3aea92f1ea botched the chronology, going to rewrite the track. 2026-06-20 18:57:16 -04:00
ed d24e5120fa conductor(chronology): regenerate rows with non-metadata summaries (FR6) 2026-06-20 17:55:01 -04:00
ed 8cd928565c conductor(track): add conductor/chronology.md (FR1) 2026-06-20 17:36:13 -04:00