feat(improvement): promote exact knowledge candidates#63
Conversation
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — 31fa2ae7
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-07-14T04:29:31Z
|
| State | Detail |
|---|---|
| Interrupted | webhook restarted |
No review verdict was produced for this run. Trigger a fresh review on the current PR head if the PR is still open.
tangletools · #63 · model: kimi-for-coding · updated 2026-07-14T04:31:38Z
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — 76491951
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-07-14T04:34:12Z
Problem
Knowledge improvement could measure a candidate and later promote different mutable bytes.
Filesystem stores silently kept parts of their state in memory, concurrent writers could interleave, and a crash could leave mixed knowledge files or an opaque blocked root.
Cost accounting also accepted caller-reported estimates outside the shared paid-call API.
Solution
inspectPendingKnowledgeMutation()and exact-IDrecoverPendingKnowledgeMutation()for explicit apply or rollback without force-unlocking; contradictory recovery requests fail.context.cost.runPaidCall()from@tangle-network/agent-eval@0.118.3; deterministic work reports zero cost.2.0.0contract.Proof
pnpm typecheck: passed.pnpm test: 28 files passed, 2 skipped; 278/278 runnable tests passed, 10 opt-in/live tests skipped.pnpm build: passed.pnpm lint: 96 files passed./tmp/tangle-network-agent-knowledge-2.0.0.tgzinstalled into an empty consumer; public promotion and recovery imports plus empty-root inspection passed.Compatibility
This intentionally changes the persisted improvement-run state and public promotion contract.
The README contains the 1.x migration summary; package semver is
2.0.0because1.12.1is already public.