API-Docker
view release on metacpan or search on metacpan
.claude/rules/api-docker-rules.md view on Meta::CPAN
tests. Pure prose docs and `Changes` notes are not.
## Parallel fan-out â isolate the working tree
Subagents share one working tree with the orchestrator and with each other. A global git
command in one reaches all of them, so:
- **A subagent never mutates git** â no `stash`, `reset`, `checkout -- <path>`, `clean`,
`add` or `commit`. The orchestrator owns git and commits. Say so in every subagent
prompt, but do not rely on the prompt alone: a subagent's `git stash`/`reset`/`checkout`
has thrown away another agent's uncommitted work three times (k111) even when the prompt
forbade it.
- **When two or more code-touching agents run at once, isolate them.** Launch each with
`isolation: "worktree"` so a stray git command in one cannot reach another's tree, or run
them sequentially in the shared tree. Never fan out parallel code-touching agents into the
same working tree without isolation.
- **A worktree may branch from a stale base.** Integrate its result by the diff
(`git diff <merge-base> <branch> -- <files>` piped to `git apply`, or a cherry-pick),
never by `git checkout <branch> -- <file>` for a file the main tree has since changed â
that reverts the main tree to the stale copy. Check the merge-base against what main
touched first.
.claude/skills/api-docker-type-model/SKILL.md view on Meta::CPAN
that every class is byte-identical to what it emits â a hand edit turns the
suite red, and the edit is lost the moment anyone regenerates. Change the
generator or its data files instead; the next section says which.
**The generator only ever creates.** It writes a file that does not exist and
refuses to overwrite one that does. There is no `--force` and no bulk
refresh, and the refusal is enforced against relative paths, absolute paths,
`maint/../lib`, symlinks and subdirectories. When a newer spec lands, the
drift checker reports the difference and a human decides field by field. A
generated class is one that someone has since read, corrected and
documented; a re-run would throw that away silently.
## Where a change belongs
| What you want to change | Where it goes |
|---|---|
| The prose of an `=attr`, a `# ABSTRACT`, a DESCRIPTION | `maint/spec-to-type-prose.yaml` |
| The Perl spelling of a field | `maint/spec-to-type-names.yaml` |
| The class name of an inline object | `inline_class_names` in `maint/spec-drift-exceptions.yaml` |
| A deliberate deviation from the spec | the other keys of that same exceptions file |
| How a swagger shape becomes a type | `maint/spec-common.pl` (shared by both scripts) |
( run in 1.268 second using v1.01-cache-2.11-cpan-6736b670a1e )