mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-11 21:53:59 +01:00
Some checks failed
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
design_system tests / test (push) Has been cancelled
gatelock pre-commit / pre-commit (push) Has been cancelled
gatelock tests / test (3.10) (push) Has been cancelled
gatelock tests / test (3.11) (push) Has been cancelled
gatelock tests / test (3.12) (push) Has been cancelled
web_ui tests / test (push) Has been cancelled
Markdown across every repo had accumulated a dozen ad-hoc names (refactor_claude_todo.md x23, DESIGN_AUDIT_TODO.md, NEXT_SESSION, HANDOFF, PLAN, SPEC) with nothing distinguishing a live task from a finished record. An audit found docs asserting work was pending that shipped months earlier, and one asserting completion while the work was open. Four namespaces now: README.md, CLAUDE*.md, DOCS*.md, TODO*.md. Task files carry the literal "REMOVE ME AFTER FINISH" and are deleted when the work lands. Enforced bidirectionally -- a TODO without the marker fails, AND any file carrying the marker that is not named TODO*.md fails. Without the reverse rule a task can be renamed into the permanent namespace and quietly live forever, which is the failure being fixed. md_naming/ mirrors the file_length topology and imports its tables (EXCLUDED_DIRS, THIRD_PARTY_REPOS, VENDORED_ANYWHERE, GENERATED_PATTERN) rather than restating them, so the two gates cannot disagree about the same file. 71 tests, 100% branch coverage. stale.py warns on TODOs past 90 days but never fails: no machine can prove a task is finished, so the honest mechanism is a nudge. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A47aX5DJwmA3QFn3pkEWi7
52 lines
4.1 KiB
JSON
52 lines
4.1 KiB
JSON
{
|
|
"_comment": "Content-based triage of files whose filename was not decisive. Verdicts from an Explore audit that checked each file's claims against the repo's actual code. TASK = work still outstanding; RECORD = reference/findings/settled decision.",
|
|
"tasks": {
|
|
"artgate-gen/prompts/long-context-pixel-art-backends.md": "TODO-longctx-backends.md",
|
|
"atomichabits/docs/automation-ideas.md": "TODO-habit-automations.md",
|
|
"sims3-clone/SPEC-M1.md": "TODO-sims3-m1.md",
|
|
"roadside-assistance/prompts/7-assembly-and-verification.md": "TODO-session7-assembly.md",
|
|
"screen-locker/stronglift_replacement/dfesign_v2.md": "TODO-workout-app-v2.md",
|
|
"screen-locker/stronglift_replacement/workout_app/CONTEXT.md": "TODO-workout-app-context.md",
|
|
"testsAndMisc/docs/superpowers/plans/2026-05-01-phone-focus-recovery.md": "TODO-phone-focus-recovery.md"
|
|
},
|
|
"records": {
|
|
"atomichabits/docs/backlog-notes.md": "DOCS-backlog-note-templates.md",
|
|
"konbini-67/SPEC-physicality.md": "DOCS-konbini-physicality.md",
|
|
"sims3-clone/SPEC-M1-STEP5.md": "DOCS-sims3-m1-step5.md",
|
|
"yay-mcp/SPEC.md": "DOCS-yay-mcp-spec.md",
|
|
"roadside-assistance/docs/plan-architecture.md": "DOCS-roadside-architecture.md",
|
|
"roadside-assistance/prompts/1-artgate-non-square-render-path.md": "DOCS-session1-nonsquare-render.md",
|
|
"roadside-assistance/prompts/1b-portrait-character-consistency.md": "DOCS-session1b-portrait-consistency.md",
|
|
"roadside-assistance/prompts/1c-portrait-expression-legibility.md": "DOCS-session1c-expression-legibility.md",
|
|
"roadside-assistance/prompts/1d-portrait-expression-quality.md": "DOCS-session1d-expression-quality.md",
|
|
"roadside-assistance/prompts/1e-drawn-expressions-and-verdict.md": "DOCS-session1e-drawn-expressions.md",
|
|
"roadside-assistance/prompts/2-the-four-backdrop-gates.md": "DOCS-session2-backdrop-gates.md",
|
|
"roadside-assistance/prompts/3-mcp-cli-surface-repair-fix-coverage.md": "DOCS-session3-mcp-cli-repair.md",
|
|
"roadside-assistance/prompts/4-godot-repo-skeleton-ci.md": "DOCS-session4-godot-skeleton.md",
|
|
"roadside-assistance/prompts/5-story-logic-and-tests.md": "DOCS-session5-story-logic.md",
|
|
"roadside-assistance/prompts/6-bulk-art-generation.md": "DOCS-session6-superseded-art.md",
|
|
"roadside-assistance/prompts/run-sh-fetch-model-repair.md": "DOCS-runsh-fetch-repair.md",
|
|
"roadside-assistance/prompts/README.md": "DOCS-roadside-session-index.md",
|
|
"utils/unified-design-system/PHASE2-PROMPT.md": "DOCS-phase2-gatelock-widgets.md",
|
|
"utils/unified-design-system/PHASE3-PROMPT.md": "DOCS-phase3-web-ui.md",
|
|
"screen-locker/docs/design-audit/flutter-workout-app.md": "DOCS-audit-flutter-workout.md",
|
|
"screen-locker/docs/design-audit/python-tkinter-lock-ui.md": "DOCS-audit-tkinter-lock-ui.md",
|
|
"screen-locker/docs/design-audit/shared-gatelock-library.md": "DOCS-audit-gatelock-tokens.md",
|
|
"screen-locker/stronglift_replacement/design.md": "DOCS-workout-app-requirements.md",
|
|
"steam-backlog-enforcer/steam_backlog_enforcer/docs/pick_game_manually_design.md": "DOCS-manual-pick-design.md",
|
|
"testsAndMisc/docs/device-owner-wipe-checklist.md": "DOCS-device-owner-research.md",
|
|
"testsAndMisc/docs/app-split-recipes.md": "DOCS-app-split-recipes.md",
|
|
"testsAndMisc/docs/python-split-recipes.md": "DOCS-python-split-recipes.md",
|
|
"testsAndMisc/docs/shell-split-recipes.md": "DOCS-shell-split-recipes.md",
|
|
"testsAndMisc/docs/shell-split-harness.md": "DOCS-shell-split-harness.md",
|
|
"testsAndMisc/docs/shell-split-verification.md": "DOCS-shell-split-verification.md",
|
|
"testsAndMisc/linux_configuration/docs/SUMMARY.md": "DOCS-pacman-security-layers.md",
|
|
"utils/gatelock/docs/scrollable-viewport.md": "DOCS-scrollable-viewport.md",
|
|
"utils/dopamine-ux/00-INDEX.md": "DOCS-dopamine-ux-index.md",
|
|
"digital-wellbeing/llm-notes/units-and-tasks.md": "DOCS-shutdown-units-reference.md",
|
|
"digital-wellbeing/README_COMPULSIVE_BLOCK_LLM.md": "DOCS-compulsive-block-reference.md",
|
|
"digital-wellbeing/README_MIDNIGHT_SHUTDOWN_LLM.md": "DOCS-midnight-shutdown-reference.md",
|
|
"digital-wellbeing/pacman/README_FOR_LLM.md": "DOCS-pacman-wrapper-reference.md"
|
|
}
|
|
}
|