CedarCopilot wants to merge 7 commits into staging from feat/cedar-configuration-knowledge-resources
Live on prod, no production signal yet
Verification reached its 130s outer budget before the verifier returned. Libra is keeping this intent verifying until the next check.
Verification reached its 120s wall-clock budget before a tied verdict. Libra is keeping this intent verifying until the next check.
Verification reached its budget before a verdict.
Verification reached its budget before a verdict.
Since 2026-09-04T03:46:10Z, staging recorded successful subagent activity: 29 execute_tool write-document spans across 10 traces, 7 read-document across 5 traces, 4 find-emails, 2 search-live-emails, and successful custom-agent invocations for Conversation Field Updater (2).
Verification reached its 120s wall-clock budget before a tied verdict. Libra is keeping this intent verifying until the next check.
internal_only
internal_only
internal_only
single_user
internal_only
internal_only
internal_only
internal_only
internal_only
internal_only
Libra has verdicts on 0 of 19 tracked behaviors on prod; 19 are still being checked. Libra checks hourly for 3 days after each deploy.
Cedar's configuration agent runs on apps/server/.claude/skills/cedar-configuration/. This converts the working knowledge doc (docs/cedar-configuration-knowledge.md) into the live files it actually loads.
The design was validated by running 25 routing cases across 8 agents. It is not redesigned here.
The on-demand set is now shaped by the question, not the config surface. playbook-design.md and field-management.md asked the agent to know which file a request belonged to before it knew what the request was. Twelve resources replace them, each answering one question:
| Resource | The question |
|---|---|
choosing-a-trigger | when should this run |
building-an-agent | how do I write it |
agent-capabilities | what is this agent allowed to do |
external-writes | how do I write into someone else's system |
surfaces-and-delivery | where does the output go |
scope-and-sharing | who does this apply to |
voice-and-preferences | how should Cedar write |
knowledge-and-collateral | where does shared content live |
fields-and-values | which values are legal |
limits-and-escalation | can Cedar do this at all |
diagnose-and-repair | what went wrong (kept, retuned) |
playbook-anatomy | what is the syntax (kept, narrowed) |
draft-analytics and playbook-execution are untouched.
SKILL.md drops from 22.6KB to 12KB and is rebuilt around the nine facts that must hold on every task: the capability protocol (supported / feature request / CRM defect, never a fourth, never invented), the one-pass non-interactive run, that nothing said in chat persists, the three identifiers, resolving a referent before writing, the two unrelated things called a gate, the org-by-nature forced-decision list, that a green tool call is not evidence, and the durability discriminator that decides whether to load a resource at all.
Descriptions are the routing layer. Each leads with its trigger, uses words a user would type, and carries its carve-out on both sides of every seam , an agent that loads the winning resource first never sees an exclusion written only on the loser.
FULL_MODE_RESOURCE_DESCRIPTION_MAX_LENGTH: 240 → 400. At 240 three descriptions were cut mid-sentence and the cut landed on the part that decides routing; field-management's catalog entry never reached the sentence saying when to load it, and it loaded in 0.6% of sessions. This cap applies only to the full-mode catalog, which is the in-app chat prompt. Terse mode , the path measured against the 2KB MCP tool-description budget , lists resource keys with no descriptions at all, so that budget is untouched and its regression guard passes unchanged. Every description is written to fit under 400; the cap is the backstop, not the editor.
Three claims were already false when traced back to source, and are repaired in the last commit:
services/auth/org-access.ts / canActOnTarget are deleted. The authority is services/auth/authorize.ts, DEFAULT_POLICY['playbook:user'] = SELF_OR_ORG_ADMIN.groups:write and files:write are granted now. The old list called them deliberately withheld, which would have made the agent refuse a private deal channel it can create. channels:join is the only remaining exclusion.dailyAgendaSkill.tools instead of enumerating.docs/design/agent-knowledge-routing-suite.md , 25 requests with a known-correct selection, each drawn from a production failure. /refresh-agent-knowledge re-runs it. Advisory, not blocking: the false-failure rate is unmeasured, so on first runs a red case is a question about two descriptions at a seam, not an automatic revert.
oxlint --deny-warnings clean · pnpm deps:check clean · pnpm --filter @zero/server run types clean · `vitest src/mastra/skills/account-config/tests src/mastra/skills/__test
Libra has not measured any production surfaces for this change yet.