Private
Public Access
0
0

1918 Commits

Author SHA1 Message Date
ed 952e164586 Merge branch 'tier2/test_suite_cleanup_gemini_cli_removal_20260705' 2026-07-05 23:05:32 -04:00
ed 8a1e2ecc9e docs: TRACK_COMPLETION + chronology row + state.toml superseded
Track closed per user direction with PARTIAL completion (17 of 31
tasks done; 13 deferred to followup tracks).

TRACK_COMPLETION_test_suite_cleanup_gemini_cli_removal_20260705.md
records the 12-VC status (7 PASS, 5 NOT DONE / NOT VERIFIED), the
phase-by-phase breakdown, branch state, risks, and hand-off notes.

conductor/chronology.md: Active row updated to 'Partially Completed'
with the commit range + summary of completed/deferred work.

state.toml: status = 'superseded'; current_phase kept at 1 (mid-Phase 1)
to reflect actual stopping point; new [followup_tracks] section
records the two upcoming tracks:
- vendor_ai_client_track (Front C metadata work)
- test_de_crufting_track (Front B cruft work)
2026-07-05 21:29:05 -04:00
ed 0c4a242629 conductor(track): state.toml — t1.7 cancelled (real provider chosen), t1.8 done
Per user direction: use real minimax/M2.7 instead of fabricating a
mock provider. 10 sim test files rewritten (3b55bdff).

t1.9 also marked completed (includes the sim test rewrites).
t1.11 (Phase 1 batch checkpoint) still pending until full test suite
is run with API access.

Total Front A tasks: t1.1-t1.6, t1.8, t1.9, t1.10 = 9 of 11 done.
t1.7 cancelled. t1.11 pending.
2026-07-05 21:22:38 -04:00
ed 9586265df0 conductor(track): state.toml — 14 of 31 tasks complete; track paused for review
Front A (Phase 1): tasks 1.1-1.6 done. t1.9 partial (minor edits in
13 test files). t1.10 docs done (12 files). t1.7/t1.8/t1.11 BLOCKED
on mock-provider design decision.

Phase 2: t2.1, t2.2, t2.3, t2.5 done. t2.4/t2.6/t2.7/t2.8/t2.9
deferred to follow-up track.

Phase 3: t3.5 partial (to_legacy_dict dead code deleted;
_push_mma_state_update has 4 callers so kept). t3.7 done. t3.8
partial (4 audits pass; full tier-1 batch not run in this session).
t3.1/t3.2/t3.3/t3.4/t3.6 deferred (large typed-dataclass migrations).

VC1-VC5, VC10, VC12 verified. VC6-VC9, VC11 pending follow-up.
2026-07-05 20:30:54 -04:00
ed 816df7f0d1 conductor(plan): vendor_refresh_xai_rename_20260705 implementation plan
4 phases, 11 tasks: (1) full grok->xai rename across 5 layers, (2) per-vendor
registry sync for 7 vendors against models.dev, (3) cost_tracker verification +
full suite batch, (4) docs sync. TDD red-first per task. Per-vendor commits
in Phase 2 for safe rollback.
2026-07-05 20:29:35 -04:00
ed 5680a835f9 conductor(spec): vendor_refresh_xai_rename_20260705 track init
Spec for renaming the grok vendor to xai (xAI is the vendor; Grok is a
model brand) across all 5 layers, plus a full model registry sync for
all 7 models.dev-mapped vendors against canonical model lists. Hard
cutover on credentials key. gemini_cli untouched.
2026-07-05 20:22:45 -04:00
ed 8dfc53447d conductor(track): state.toml at tier2 mid-checkpoint (t1.9 partial, 8 commits)
Front A source edits (t1.1-t1.6): all clean. PROVIDERS=7; adapter +
7 dedicated test files deleted. t1.9 minor edits: 14 sites across 13
test files cleaned (provider list expectations, _update_gcli_adapter
monkeypatches, ui_gemini_cli_path setters, comment references).
Remaining: t1.7 (mock provider implementation), t1.8 (11 sim test
rewrites, blocked on t1.7), t1.10 (12 docs), t1.11 (batch checkpoint).
Phases 2 and 3 untouched.
2026-07-05 20:02:41 -04:00
ed 832a030500 conductor(track): update state.toml at tier2 checkpoint (t1.1-t1.6 done)
phase_1.status = in_progress_partial_6_of_11; tasks 1.1-1.6 marked completed with SHAs. Tasks 1.7 (mock provider) through 1.11 (batch run) remain pending. Phases 2 and 3 entirely untouched. current_phase advanced from 0 to 1 to reflect Front A mid-execution.
2026-07-05 19:53:28 -04:00
ed 7e06d812d4 conductor(plan): mark Phase 1 tasks 1.1-1.6 as complete (Front A core deletions)
Tasks 1.1-1.6 cover the bulk of Front A: the gemini_cli adapter module
plus all importer edits (ai_client, app_controller, gui_2,
project_manager, api_hooks) and the 7 dedicated gemini_cli test files.
Remaining Front A tasks (1.7-1.11) cover the mock provider, the 11 sim
test rewrites, the minor test edits, the doc updates, and the batch
checkpoint.
2026-07-05 19:51:17 -04:00
ed 9a308c36dc Merge remote-tracking branch 'tier2-clone/tier2/twitter_threads_extraction_20260705' 2026-07-05 19:34:31 -04:00
ed ba1dbd326f conductor(track): init test_suite_cleanup_gemini_cli_removal_20260705 — 3-front cleanup track
3 fronts, 3 phases, 31 tasks, 12 verification criteria. Based on 3
parallel explore-agent audits of the live codebase.

Front A — Gemini CLI Adapter Removal: delete src/gemini_cli_adapter.py
+ 7 test files; edit ai_client.py (3 functions + 8 dispatch branches +
PROVIDERS 8->7); edit app_controller.py (~11 sites) + gui_2.py (2 blocks)
+ project_manager.py + api_hooks.py; introduce a mock provider that
routes to tests/mock_gemini_cli.py so the 9 live_gui sim tests switch
from gemini_cli to mock without losing their mock-LLM mechanism; update
7 docs + 5 conductor docs.

Front B — Test Suite Cleanup (410 files, 2,133 tests, ~45-60 files
downsizable): delete 2 guaranteed-broken chronology tests (import from
deleted scripts.audit.*); consolidate 7 test_scavenge_*.py tautologies
into 1 test_directive_structure.py; review deprecated-module tests;
consolidate ~15 test_*_phase*.py one-offs; migrate 27 src.models shim
importers to direct subsystem imports; extract shared mock_controller
fixture from ~8 boilerplate-patch files; fix 3 fix-not-skip candidates
(Gemini 503 in summarize.summarise_file); audit the 120KB
test_gui_2_result.py (9.4% of suite line count in one file).

Front C — Metadata-Type Reduction: flip the 38-site MCP dispatch
inversion (dispatch()+22 consumers still call str wrappers, not the
_result variants); migrate app_controller.py's ~40 in-memory Metadata
state sites to typed per-aggregate dataclasses; fix aggregate.py
file_items: list[Metadata] -> list[FileItem]; delete dead code
(openai_schemas.to_legacy_dict, app_controller._push_mma_state_update).

Out of scope: GEMINI_CLI_HOOK_CONTEXT env var + cli_tool_bridge.py +
mma_exec.py (meta-tooling, not the provider — separate follow-up if
user wants to purge naming).
2026-07-05 19:33:20 -04:00
ed d4e809ba63 conductor(track): close twitter_threads_extraction_20260705 — corpus extracted (VC8 complete) 2026-07-05 19:29:14 -04:00
ed 2c680e23e4 feat(twitter_threads): gallery-dl media download + inline media embeds in Markdown
download_media now shells out to gallery-dl (handles X.com auth/403/video->mp4) instead of urllib, returns the downloaded files, + media_files_for_post glob helper + --cookies CLI. render_markdown embeds images with ![](...) and videos with an HTML <video controls> tag (were plain links). extract_corpus uses the package download_media (one download path). Tests rewritten for the gallery-dl API. Corpus: 4 threads, 33 media (32 img embeds + 1 video), 0 missing.
2026-07-05 19:08:43 -04:00
ed 7e828cbd61 refactor(twitter_threads): consolidate corpus extraction into one script; gallery-dl downloads media
Replaced convert_cookies.py + run_corpus.py + dedupe_corpus.py (+ the scratch merge_corpus.py) with a single extract_corpus.py that: converts cookies, fetches each URL's full conversation, MERGES overlapping conversations into one thread (union of posts, no duplicate threads/media), downloads ALL media (images + video/mp4) via gallery-dl itself (plain urllib 403'd on pbs.twimg.com and never fetched videos), and renders. Result: 4 merged threads, 33 media files (incl mp4), 0 missing links. cookies_netscape.txt gitignored.
2026-07-05 18:50:55 -04:00
ed ae9cc1d494 feat(twitter_threads): full-thread extraction (conversations) + front-matter from target + corpus dedupe
fetch_thread_from_url now passes -o conversations=true (full threads, not single tweets), sorts posts chronologically, and sets root_post_id to the URL's target tweet. render_markdown builds front-matter from the target (root_post_id) post, not the earliest conversation tweet (fixes wrong @handle). Added dedupe_corpus.py: keeps deepest thread per conversation, deletes duplicates, keeps+marks unique branches (branch_of) + writes threads_index.json. 33 tests pass.
2026-07-05 18:38:43 -04:00
ed 53721a7796 fix(twitter_threads): align gallery-dl parser to live schema + add track extraction scripts
Live Task 5.3 validation against real gallery-dl output: (1) pass -o text-tweets=true so text-only tweets are returned (media-only default yielded []); (2) fix author name/nick swap (gallery-dl name=handle, nick=display). Added convert_cookies.py (JSON cookie export -> Netscape) + run_corpus.py (8-URL pipeline -> docs/twitter/) to the track dir. Extracted 8/8 threads. 33 tests still pass.
2026-07-05 18:28:40 -04:00
ed 0d7293d59e conductor(track): complete twitter_threads_extraction_20260705 + TRACK_COMPLETION report [state=completed]
All 5 phases done, 34 tests passing, VC1-VC7 pass. Task 5.3 (live 8-URL smoke) + 5.6 (user manual verification) deferred to user (network/cookies + merge decision).
2026-07-05 17:53:42 -04:00
ed 41656d6b7c conductor(plan): mark Phase 4 (fetch_thread.py) complete [06ff9299] 2026-07-05 17:36:37 -04:00
ed ea33a49f15 conductor(plan): mark Phase 3 (download_media.py) complete [f503eb5d] 2026-07-05 17:25:09 -04:00
ed 36de54a9e0 conductor(plan): mark Phase 2 (render_markdown.py) complete [ef98f6d1] 2026-07-05 17:17:52 -04:00
ed 0440be0288 conductor(plan): mark Phase 1 (scaffold + error types + dataclasses) complete [161d8da] 2026-07-05 17:08:31 -04:00
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 2f3a8283f9 archive: test patrch fixes and sandbox hardening 2026-07-05 15:56:33 -04:00
ed 78204ac392 archive: send result to send 2026-07-05 15:56:19 -04:00
ed 39fcf12a6b archive: post-module taxonomy de cruft 2026-07-05 15:56:10 -04:00
ed f7136c5fff archive: phase2_4_5 call site completion 2026-07-05 15:55:59 -04:00
ed 3493a95144 archive: cruft elimination 2026-07-05 15:55:41 -04:00
ed 5d060a477d archive: fable review 2026-07-05 15:55:30 -04:00
ed aacfb1ff56 archive: context preview fixes 2026-07-05 15:54:39 -04:00
ed f619e05021 archive public api migration 2026-07-05 15:54:28 -04:00
ed fe10892d48 archive: superpowers review tracks 2026-07-05 15:54:18 -04:00
ed 8c98a3bc42 archive: code path audit polish. 2026-07-05 15:53:43 -04:00
ed 1eac425287 archive: tier 2 leak prevention 2026-07-05 15:53:28 -04:00
ed eb5cc68b51 archive: agent directives consolidation 2026-07-05 15:53:17 -04:00
ed 01a12d6eaf archive: type alias unfuck 2026-07-05 15:53:03 -04:00
ed 8ab8202257 conductor(track): agent_directives_consolidation_20260705 state.toml finalized (current_phase=4, all tasks completed) 2026-07-05 15:21:26 -04:00
ed 48ddd15ca2 conductor(track): init agent_directives_consolidation_20260705 (spec + state) 2026-07-05 15:11:37 -04:00
ed 9434e4c6e9 conductor(track): superpowers_review_apply_high_20260705 state.toml finalized (current_phase=3) 2026-07-05 14:17:21 -04:00
ed 0522252f3d conductor(track): init superpowers_review_apply_high_20260705 (spec + plan + metadata + state) 2026-07-05 14:10:50 -04:00
ed 137868a193 conductor(track): superpowers review Phase 10 finalize complete (all tasks done; state.toml final) 2026-07-05 13:47:36 -04:00
ed d795327901 conductor(track): superpowers review metadata.json finalized (status=shipped + final_statistics) 2026-07-05 13:47:00 -04:00
ed deecd9314c conductor(track): superpowers review state.toml finalized (current_phase=10) 2026-07-05 13:45:39 -04:00
ed a57e01e49c conductor(plan): mark Phase 8 self-review tasks complete in state.toml 2026-07-05 13:44:55 -04:00
ed 2b07ea895d conductor(plan): mark Phase 9 user review gate as skipped per user directive 2026-07-05 13:44:29 -04:00
ed 86cb6a4e39 conductor(track): superpowers review phase 8 complete (self-review) 2026-07-05 13:43:38 -04:00
ed f0dcf12dc7 conductor(track): superpowers review phase 7 complete (side artifacts + Section 0) 2026-07-05 13:42:06 -04:00
ed f2ff92d84f conductor(plan): mark Section 0 TL;DR complete in state.toml 2026-07-05 13:41:58 -04:00
ed d1dd7c5229 conductor(track): superpowers review Section 0 TL;DR + cleanup 2026-07-05 13:41:17 -04:00
ed 7e31cfafdb conductor(plan): mark nagent_takeaways_superpowers_20260619.md complete in state.toml 2026-07-05 13:38:43 -04:00
ed 049774d620 conductor(track): superpowers review nagent_takeaways_superpowers_20260619.md filled (5-part bridge) 2026-07-05 13:38:27 -04:00