Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 2.64 KB

File metadata and controls

18 lines (15 loc) · 2.64 KB

Decisions

Short records of the decisions that shape SubSync. Read this index first; open a record only when you need the reasoning. New records take the next number. Accepted records are never edited or renumbered, only superseded by a newer record. To add one, use the decision-records skill.

# Decision Status Summary
0001 Record decisions as short records in decisions/ accepted Four-section records, indexed here, linked from AGENTS.md. Supersede, never rewrite.
0002 Organize agent instructions as a root AGENTS.md map with nested AGENTS.md per directory accepted Root holds a map and always-on rules; each area's rules live in its own AGENTS.md; templates load on demand. No CLAUDE.md.
0003 Specs define what and why, never how accepted spec/ context → plan → tasks, with acceptance criteria and no implementation code.
0004 Transcribe locally; media never leaves the machine accepted Local Whisper; no network for local files once the model is cached. Engine choice left to spike E1.
0005 Write a subtitle file for manual upload; no YouTube API upload accepted No Google Cloud, OAuth or quota; Igor uploads the file in Studio (D3).
0006 Deliver v1 in vertical slices S1–S5, not phase by phase accepted Each slice cuts through processor and CLI and is usable alone; order S1 → S5, one task file and one PR per slice.
0007 One source-agnostic generate() orchestrator with a MediaSource model accepted Files and URLs share one orchestrator; process_video() retires in S4 (E4).
0008 Never rewrite transcribed text; fix timing and warn accepted Long words stay whole, fast subtitles are extended into free time, the rest is flagged (R11, R12).
0009 Exit code answers "was an uploadable file written"; warnings never fail the run accepted Only structural breakage is an error; a written file exits 0 (P2).
0010 No CI until slice S5; tests and lint run locally accepted task test and task lint on Igor's Mac per slice; CI decided in S5 (E7).

Statuses: proposed (under discussion), accepted (in force), deprecated (no longer applies and nothing replaces it), superseded (replaced by a newer record; both records link to each other).