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.
2.5 KiB
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>): summaryusing 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