agent-executor
Use when working on the single action enforcement point surface in @jeswr/agent-executor.
- License 许可
- MIT
- 所属仓库
- jeswr/solid-sdk
- 最近更新
- 2026-11-15
- Stars
- ★ 2
- Forks
- 0
01 前言 Front Matter
- name
- agent-executor
- description
- Use when working on the single action enforcement point surface in @jeswr/agent-executor.
02 资源文件 24
- 参考文档package.json1.2 KB
- 参考文档README.md12.6 KB
- 脚本src/accounting.ts7.3 KB
- 脚本src/executor.ts27.1 KB
- 脚本src/files.ts3.5 KB
- 脚本src/index.ts352 B
- 脚本src/testing.ts2.9 KB
- 脚本src/transmission.ts1.8 KB
- 脚本src/types.ts7.4 KB
- 脚本test/accounting.test.ts20.5 KB
- 脚本test/authority.test.ts26.8 KB
- 脚本test/channels.test.ts15.5 KB
- 脚本test/conversation.test.ts5.3 KB
- 脚本test/decision.test.ts21.5 KB
- 脚本test/exports.test.ts1.8 KB
- 脚本test/files.test.ts11.8 KB
- 脚本test/helpers.ts6.5 KB
- 脚本test/persistence.test.ts7.3 KB
- 脚本test/provider-outcomes.test.ts8.8 KB
- 脚本test/status.test.ts2.7 KB
- 脚本test/transmission.test.ts42.1 KB
- 参考文档tsconfig.json212 B
- 参考文档tsconfig.test.json202 B
- 脚本vitest.config.ts427 B
03 SKILL.md 正文
<!-- AUTHORED-BY Codex GPT-6.1-Sol --> <!-- AUTHORED-BY Codex GPT-6 -->
@jeswr/agent-executor
Read agent DESIGN §2 / §4.1 and README.md before changing behavior. The root exports createExecutor, proposalTermsDigest, durable filesystem adapters and the three-attempt bound. Contracts are in src/types.ts; explicit synthetic fakes live only in ./testing.
Preserve the nine-step order and fail closed. Halt precedes proposal/mandate reads; proposal state never grants authority. Re-evaluate every queued item on control/mandate change, and recheck authority after asynchronous lookup/token waits. Supply the required synchronous io.assertAuthority fence to bindings: it checks the shared revision and latest authority deadlines through the request-local beforeDispatch hook, after all binding and transport awaits (including inner DNS and body buffering), immediately before underlying fetch/delivery with no intervening await. The fence also runs the required synchronous ControlStore.assertNotHalted check (only ENOENT means clear), so local HALT changes during transport waits need no polling notification. Pre-delivery gate refusals settle as not-sent; preserve prior resend uncertainty and acknowledgements for requests already issued. The host must call onApprovalChange for every detected approval-store change to invalidate in-flight snapshots and re-evaluate queued items. Only verified owner approvals and controls enter their adapter seams. Exact wire and all action terms are approval-bound; a normal approval cannot override a prohibition or hard limit.
Accounting and claims share a store-wide lock; attempting/uncertain committed amounts count as spent over the union of outbox and ledger. Require a signed currency for spend limits; do not guess it to work around the stacked mandate API's missing fields.
Persist attempting with fsync before the provider call. A crash is uncertainty, never absence. Only positive exact-wire lookup reconciles delivery. Reattempt unresolved requests only with causal finalAbsence, or identical A2A receiver-deduplicated resend, max three attempts. A timeout does not cancel the original request. Preserve positive sent evidence against late failures. The host must hold a single-writer process lease. Recognize the channel's actual ProviderRejectedError and SendNotDispatchedError classes (send-only provider/send export), never their names or messages. The latter proves a local refusal before an effectful send dispatch and preserves the original cause; read-only preflight does not create send uncertainty. Provider response parse failures after send dispatch remain uncertain. Settle it as rejected without storing provider text; unresolved resends retain their earlier commitment. Bound and validate real binding reference shapes on both acknowledgement and positive lookup paths.
Filesystem operations are injected to preserve the agent layer import boundary. Do not add raw provider/network/model access or expose a read token through the send projection. Audit entries contain digests and references, never message bodies, tokens or provider error text. Surface durability/audit failures; never treat missing audit reads as zero use.
Follow ADR-001 D4: Node >=24, ESM exports, workspace dependencies, strict TypeScript, Biome, and Vitest. Maintain 100% per-file branches/functions/lines/statements coverage, including actual durable crash/restart and adversarial asynchronous cases.
Never use live providers or credentials in tests. Send implementations belong exclusively in channel send subpaths, importable only by agent-executor and channel tests. Only agent-model-gateway may import OpenAI or Anthropic SDKs; it must never import agent-audit.
04 同仓库更多 Skills
storage-conformance
Work on @jeswr/storage-conformance, the shared storage conformance suite package in the Solid SDK workspace.
fetch-rdf-engine-tests
Maintain fetch-rdf's real Node WASM parser integration tests without introducing a reverse engine dependency in fetch-rdf.
alpha
Use when checking fixtures, including folded YAML descriptions.
widget
Use when testing package skills: YAML quoting works.
web-seo
Use when improving technical and entity SEO for a modern personal, portfolio, documentation, or marketing site, including crawlable HTML, canonical metadata, sitemap and robots, Person/ProfilePage JSON-LD, Core Web Vitals, and honest ranking expectations.
solid-wac
Use when implementing or auditing Solid server WAC authorization, ACL creation and inheritance, auxiliary-resource escalation, method-to-mode mapping, 401 versus 403 challenges, WAC-Allow, or defensive typed ACL parsing with @solid/object and @rdfjs/wrapper.