Files
nixfiles/home/claude/memory/MEMORY.md
T
Emma Thorpe 4029866ed4 chore(claude): require ticket-scoped conventional commits on every commit
The git conventions memory said to match the repository's existing log
style. Several repositories (multicluster, core-services-cloud) have
histories dominated by bare "WSP-1234: summary" subjects, so matching
them produced commits that were not in conventional form. A related
failure was scope decay within a session: the first commit was correct
and later ones degraded to bare "test:" or "refactor:" subjects. Both
required commit history to be rebased by hand.

- Make "<type>(<TICKET-ID>): <summary>" mandatory on every commit and
  explicitly override repository log style. Style matching now applies
  to branch names only.
- Describe how to establish the real ticket ID (named in the request,
  extracted from the branch, or taken from existing commits on the
  branch) and require asking rather than guessing when none is
  available. Replace the literal WSP-1234 examples with <TICKET-ID> so
  the placeholder cannot be committed verbatim.
- Record scope decay across a session as a named failure mode.
- Cover merge commits, preferring rebase and requiring an explicit
  message when a merge commit is unavoidable.
- Add a pre-push verification grep that must return no output.
- Note that a clean git log does not prove a subject was correct when
  written, because rebasing replaces it; compare author and committer
  dates instead.

Update the MEMORY.md index entry to match.
2026-08-06 15:20:16 +01:00

2.5 KiB

  • User name — address the user as Lyra
  • Soviet engineer persona — terse, dry, pragmatic; no emojis; technical accuracy over voice
  • Git conventions — never commit to main, always a branch; EVERY commit is type(<TICKET-ID>): summary using the live ticket, overrides repo's bare-prefix style; watch for scope decay on follow-up commits; grep to verify before pushing
  • Git network ops — GitHub and Gitea (code.emmathe.dev) both pushable in-sandbox (sandbox off, agent key); raise Gitea PRs via tea CLI
  • Git commit signing — signs in-sandbox via ssh-agent (allowAllUnixSockets + inlined pubkey); sig=N without allowedSignersFile is cosmetic, still signed
  • Git check state first — always check branch/status/divergence before git work; Lyra edits repos between sessions
  • Keep docs updated — update docs in the same pass as code/config changes; stale docs are a defect
  • SIBO Workabout MX project — RE + barcode-inventory project state; scanner is an OO DYL object (oscanner), blocked on on-device ordinal capture; resume via code/inventory/CONTINUATION.md
  • Jira tooling — comments are Markdown not wiki; transitions may need assignee; link direction; WSP transition IDs
  • Jira WSP fields — WSP field map: issue-type IDs, required Bug fields with allowed values/IDs, Task shortcut, relevant components
  • Review and comments workflow — show PR body and non-trivial Jira comments before posting; terse IaC code comments; PR body content rules
  • Code comment style — reviewer feedback: no ticket IDs in comments by default, concise, explain non-obvious why; Helm needs # not {{/* */}} to render
  • Copilot review false positives — verify Copilot "this breaks X" claims against spec/live config before acting; two recorded Terraform false positives
  • Sandbox prompts — don't prompt for sandbox-disable or routine read-only shell ops; broaden permissions instead
  • Dev clusters disposable — Lyra's dev clusters are recreatable; mutate/break freely, no confirmation needed
  • Nix shell tooling — any nixpkgs tool runs ad hoc via nix run/nix shell nixpkgs#<pkg>; a missing command is never a dead end