Skip to content

feat(runtime): harness foundation — config, Tool.effect, prompt breakdown, task parents (CLEAN-151) - #25

Merged
maksymhryzodub-prog merged 1 commit into
docs/CLEAN-150-ecc-agent-principlesfrom
feat/CLEAN-151-harness-foundation
Oct 26, 2026
Merged

maksymhryzodub-prog merged 1 commit into
docs/CLEAN-150-ecc-agent-principlesfrom
feat/CLEAN-151-harness-foundation

Conversation

@maksymhryzodub-prog

Copy link
Copy Markdown
Contributor

Stacked on #24 (spec/plan/tasks). Phase 1+2 of specs/001-ecc-agent-principles/tasks.md (T001–T012). No user-visible behaviour change; everything later builds on it.

What

  • Config: contextBudget, skills, guard, verification, memory.instincts, session.idleCompactMin / hardLimitPct, tools.coreCatalogue / delegate — typed in IAgentConfig, defaulted, documented in README and .agent.example. A partial file keeps every default (spec).
  • Tool.effect: every built-in tool is read or write; file and http decide per call via effectOf; MCP tools map readOnlyHint, otherwise write. effectOfCall() helper; a spec asserts no registered tool is unannotated.
  • Prompt breakdown: buildSystemPrompt returns { prompt, sections }; the runtime appends always/active skills with the same separator and keeps an IPromptBreakdown per session (getLastBreakdown). Spec: section chars + separators == prompt length.
  • Tasks: inFlight(sessionId), parentTaskId, getChildren().
  • bun run eval skeleton reading tests/evals/*.jsonl (modes land per story).

Tests

bun test: 189 pass, 1 pre-existing Windows-only failure (telegramFile path separator). tsc --noEmit: no errors in touched files (pre-existing ones in bridleAttachments.spec.ts).

Jira: https://dreamvention.atlassian.net/browse/CLEAN-151

🤖 Generated with Claude Code

…mpt breakdown, task parents (CLEAN-151)

Phase 1+2 of the ECC harness principles (specs/001-ecc-agent-principles,
T001-T012). No behaviour change yet:

- agent.config.json gains contextBudget, skills, guard, verification,
  memory.instincts, session.idleCompactMin/hardLimitPct,
  tools.coreCatalogue/delegate with defaults; partial files keep defaults.
- Tool.effect ("read" | "write", unset = write) on every built-in tool;
  file and http decide per call via effectOf; MCP tools map readOnlyHint.
- buildSystemPrompt returns the prompt plus a per-section char breakdown;
  the runtime keeps the latest breakdown per session for /context.
- TaskManager.inFlight(sessionId), parentTaskId and getChildren for the
  compaction gate and delegated workers.
- bun run eval skeleton (scripts/eval.ts) for the per-story eval sets.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@maksymhryzodub-prog
maksymhryzodub-prog force-pushed the feat/CLEAN-151-harness-foundation branch from 13a7846 to 3042b20 Compare October 26, 2026 14:23
@maksymhryzodub-prog
maksymhryzodub-prog merged commit 720c932 into main Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant