feat: make the skills real with on-demand reference reads #927
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!927
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-859-on-demand-skill-reads"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Makes the pointers true.
SKILL.mdstays inline as the index, references become fetchable.The mechanism
A reference is fetchable unless it declares
inline: alwaysin its own frontmatter, so the decision about a file lives in the file rather than in a list somewhere else that drifts from it.The pack ends with a Readable references index carrying each path and its heading, because a file the model cannot see is a file it will not ask for.
read_skilltakes the path exactly as listed, and an unknown path refuses with the list, because a model that guessed once guesses again.What stayed inline, and why one of them was not my call
Four declare
inline: always:sirens-echo-knowledge/references/boundaries.mdand bothcapability.mdshape refusals. The issue's own warning: a model that has to choose to read its own boundaries may not.coilyco-org/references/organizations.mdjoined them becauseTestTheOrgFactsReachBothPromptsfailed when it left. That is the test doing its job: "who do you work for" is not a question the model should have to decide to look up. I had it in the long tail and was wrong.Moved:
links-eco,links-community,object-emoji,scratchpad,community,guardfile.Kai's note about the trade
"Keep the highest-traffic references inline and move the long tail, rather than moving everything on principle." Taken. An on-demand read costs a tool round and #577 already has Echo's p99 at the 180s ceiling, so the six that moved are the ones a turn can answer without.
The budget drop is recorded
docs/sirens-echo-prompt.mdlogs raises with their cause. It now logs this drop too: a budget left at the old number banks the saving and spends it again unnoticed, which is the same defect one direction over.Merge ordering, please read
This branch is cut from
mainwithout #916. If PR #926 (the calculator) merges first, this needs a rebase and the two budget numbers go up by 203 each, to 19042 and 12852, because #916 adds a prompt rule.TestRenderedPromptsStayInsideTheirBudgetwill say so rather than letting it pass quietly. Both PRs also touch the raise log indocs/sirens-echo-prompt.md, in different paragraphs, anddocs/sirens-echo-tools.md, in different sections.Tests
skilltool_test.gocovers the split, the index, reading by path, the refusal-with-list, an inline reference not also being fetchable, and a root with nothing to serve offering no tool.skillpack_test.gois updated where it asserted the old inlining.just gatePASS.closes #859