mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
Findings from an independent review of the branch: - loadAgent's plain-object lookup traversed Object.prototype, so a user-defined agent named "constructor"/"toString" threw a TypeError instead of falling through to the agents repo as it did before the registry (Object.hasOwn now guards both lookups; regression test pins the fallthrough without depending on the environment). - agentFromRaw now uses the same parseFrontmatter helper FSAgentsRepo uses, so builtin and user agents can never drift on one file format. - The fused workspace-context capability splits into agent-notes and work-directory records — the composer's own separator joining makes the output byte-identical, so the fusion bought nothing. - Mode records drop their write-only title/summary (optional on the base record, still required on skills where the catalog renders them), the composer body is reindented and iterates a hoisted PROMPT_CAPABILITIES list, and the two single-consumer re-export shims in the legacy runtime file are deleted (consumers retargeted). Golden snapshots unchanged throughout: composed prompts remain byte-identical. Deferred to the follow-up PR with availability wiring: discriminated-union typing on activation + fencing resolveSkill, and unifying the three mirrored composition shapes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| docs | ||
| scripts | ||
| src | ||
| .gitignore | ||
| package.json | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||