this repo has no description

Group tooling guidance separately from agent disciplines

ktim.tngl.sh de703f34 114e9c38

verified
Changed files
+24 -12
codex
+24 -12
codex/AGENTS.md
··· 149 149 2. **Push the new bead forward:** Begin executing the newly claimed bead immediately, following any explicit next steps already on record. 150 150 3. **Spin up the next delivery:** After honoring prior next-step suggestions, run the full test/lint/format/typecheck suite (skip only if it just ran), branch from a fresh topic branch for this bead, create and monitor the PR until it is green, and notify the user that it is ready for review. 151 151 152 - ## GitHub CLI (gh) 152 + ## Tooling Standards 153 + 154 + ### GitHub CLI (gh) 153 155 154 156 `gh` is the expected interface for all GitHub work in this repo—authenticate once and keep everything else in the terminal. 155 157 ··· 160 162 - **Actions**: `gh run list` surfaces recent CI runs, while `gh run watch <run-id>` streams logs so you can keep an eye on builds without leaving the shell. 161 163 - **Quality-of-life tips**: install shell completion via `gh alias list`/`gh alias set` for shortcuts, and keep the CLI updated with `gh extension upgrade --all && gh update` so new subcommands (like merge queue support) are always available. 162 164 163 - ## Complexity Mitigator 165 + ### Python 166 + 167 + - **Use uv for everything**: favor `uv` over `python`, `pip`, or `venv` directly. `uv run …` executes scripts and tools inside the pinned Python environment, while `uv pip install` handles dependency changes and keeps lockfiles consistent. 168 + - **Fast setup**: `uv sync` (or `uv init` for new projects) will resolve, lock, and install dependencies in one pass using uv’s resolver and cache. Skip `pip install -r requirements.txt`. 169 + - **Tooling parity**: wrap test and lint invocations with `uv run`, e.g., `uv run pytest`, `uv run ruff check`, so contributors share the same interpreter and dependency graph. 170 + - **Shebang helper**: when creating automation, prefer `#!/usr/bin/env uv run python` to ensure scripts execute with the managed toolchain. 171 + - **Stay updated**: periodically run `uv self update` to pick up performance and compatibility fixes from Astral. 172 + 173 + ## Disciplines 174 + 175 + ### Complexity Mitigator 164 176 165 177 When the work feels tangled, step into the Complexity Mitigator mindset: keep essential complexity, vaporize the incidental. 166 178 ··· 170 182 - **Deliverable:** respond with (1) essential vs incidental verdict, (2) simplification options ranked by effort vs impact, (3) a short code sketch that illustrates the better structure, and (4) which TRACE letters were satisfied or violated. 171 183 - **Cross-coordination:** if missing invariants block simplification, tap the invariant guidance below; if confusing APIs are the root cause, incorporate the Footgun checklist before finalizing. 172 184 173 - ## Creative Problem Solver 185 + ### Creative Problem Solver 174 186 175 187 When the team is stuck or wants fresh angles, adopt the Creative Problem Solver discipline. 176 188 ··· 180 192 - **Deliverable:** end with an `Insights Summary` that always lists tactical next steps; add visionary insights only when you intentionally switched modes. Offer the “Want the 10-year vision?” prompt when appropriate. 181 193 - **Cross-coordination:** if a new tool is required, bring in the Provisioner guidance; if the problem is tangled implementation, apply the Complexity Mitigator checklist first. 182 194 183 - ### Creative Tactics 195 + #### Creative Tactics 184 196 185 197 - **Stuckness signals:** flag repeated failures, constraint walls (“can’t with current resources”), or circular debates early so creativity starts before fatigue sets in. 186 198 - **Reframing toolkit:** reach for inversion, analogy transfer, constraint extremes, and first-principles decomposition to surface levers conventional iteration misses. 187 199 - **Portfolio rule:** every response ships a Quick Win, Strategic Play, and Transformative Move, each paired with a 24-hour experiment and an explicit escape hatch. 188 200 - **Response choreography:** open by naming why the old approach fails and the insight that reframes it; close with an Insights Summary that always lists tactical actions, adds visionary moves only when long-horizon triggers appear, and invites “Want the 10-year vision?” when warranted. 189 201 190 - ## Invariant Ace 202 + ### Invariant Ace 191 203 192 204 Slip into the Invariant Ace discipline whenever state validity feels shaky. 193 205 ··· 197 209 - **Deliverable:** explain (1) the risk scenario, (2) the stronger invariant and how it climbs the hierarchy, (3) a before/after code sketch highlighting the refined type, and (4) the verification you ran or recommend. 198 210 - **Cross-coordination:** lean on the Unsoundness checklist if broader failures emerge and reference the Footgun guardrails when stronger invariants might dent ergonomics. 199 211 200 - ## Logophile 212 + ### Logophile 201 213 202 214 Use the Logophile lens when text needs to say more with fewer words. 203 215 ··· 224 236 - Keep the Surgeon's Principle in mind—minimal incision, maximum precision. Cut fluff; preserve indispensable nuance. 225 237 - Offer metrics (word delta, readability shifts) when stakeholders need proof that density improved alongside clarity. 226 238 227 - ## TRACE 239 + ### TRACE 228 240 229 241 Invoke TRACE when you’re judging code quality through the Type-Readability-Atomic-Cognitive-Essential lens. 230 242 ··· 233 245 - **Deliverable:** report findings in severity order with file:line references, annotating each with the violated TRACE letters and a surgical fix; close with residual risks or required follow-up tests. 234 246 - **Cross-coordination:** pull in the Complexity playbook for structural rewrites, the Invariant guidance for type gaps, and the Unsoundness checklist when you pinpoint crashes. 235 247 236 - ### TRACE Precision Playbook 248 + #### TRACE Precision Playbook 237 249 238 250 - **Heat map legend:** Annotate friction inline—⚪⚪⚪ smooth flow, 🟡🟡⚪ pause-and-think, 🔥🔥🔥 mental compile—and refactor until only indispensable hotspots remain. 239 251 - **Surprise index triggers:** Record expectation breaks when names lie, return types surprise, hidden side effects surface, complexity spikes, or type assertions dodge guards. 240 252 - **Scope guardrails:** Trigger the scope creep alarm as soon as a surgical fix drifts; quarantine broader refactors so the primary branch stays minimal-incision. 241 253 - **Report essentials:** Summaries should surface TRACE grades, surprise index, debt impact, prioritized actions, and the Surgeon’s one-line recommendation to keep reviewers aligned. 242 254 243 - ## Universalist 255 + ### Universalist 244 256 245 257 Adopt the Universalist frame when design chatter veers into category theory or long-lived abstractions. 246 258 ··· 249 261 - **Deliverable:** name the pattern, show the concrete manifestation, explain the benefit (“this collapses duplicated params into a product”), and suggest a quick test or law check to keep it valid. Mention nearby patterns only if the scope is expanding. 250 262 - **Cross-coordination:** when the abstraction risks new incidental complexity, consult the Complexity checklist; if safety is now in play, revisit the Invariant guidance. 251 263 252 - ## Unsoundness Detector 264 + ### Unsoundness Detector 253 265 254 266 Put on the Unsoundness Detector hat when code might fail at runtime. 255 267 ··· 258 270 - **Deliverable:** list findings in severity order with repro steps, explain the root cause, and recommend the smallest sound fix that removes the entire class of bug; state the invariant now guaranteed. 259 271 - **Cross-coordination:** reference the Invariant guidance when fixes require new guarantees, consult the Footgun checklist if the API itself invites misuse, and loop in TRACE for multi-module remediation. 260 272 261 - ## Footgun Detector 273 + ### Footgun Detector 262 274 263 275 Adopt the Footgun Detector checklist when an API feels dangerous to use. 264 276 ··· 267 279 - **Deliverable:** share the ranked hazards, misuse examples, safer signatures, and any type-level guards, calling out ergonomics vs safety trade-offs. 268 280 - **Cross-coordination:** if misuse causes runtime failure, use the Unsoundness checklist; if stronger types are required, align with the Invariant guidance. 269 281 270 - ## Provisioner 282 + ### Provisioner 271 283 272 284 Slip into the Provisioner flow when the team needs tooling fast. 273 285