Repository navigation
feat: add agent learning with shared setup, diagnostics and local status - #147
Merged
Merged
Conversation
Add versioned learning evidence, guarded publication and rollback, portable project recall and evaluation, and Codex/DSH integration through the existing CLI. Share project and user TOML settings, preserve legacy JSON inputs, provide non-executing setup and diagnostics, and report local learning evidence without side effects. Include reviewed ownership and stdin corrections. Package the preserved development branches as a main-based PR commit. Construct a synthetic redaction fixture at compile time so its literal does not trigger push protection.
Retain portable identity and read scopes under legacy recall overrides, resolve learning state from the selected project, and inject named runtime credentials only into isolated evaluation runners with artifact redaction. Keep later public URLs during idempotent publication replay and interrupted-finalization recovery. Replace host Codex dependencies in setup tests with deterministic fixtures. Cover all five review findings with regressions.
Use equivalent let chains, remove redundant borrows and a test clone, and place the hook helper before its test module. Document the function-local argument-count allowance at the resolved-configuration seam. The exact CI Clippy command and 309 covering CLI tests pass; scoped review confirms condition and error evaluation order are preserved.
Upgrade both web apps to react-start 1.168.60 and its matching router 1.170.41, resolving GHSA-qx66-fv34-fjm8 in react-start and start-server-core. Align the existing seroval override with seroval-plugins 1.6.9 to preserve production builds. Keep audit thresholds and the existing unrelated braces exception unchanged.
Update generator snapshot/update and MCP list/batch result aliases after adding learning APIs. Reuse the shared edit result mapping instead of overriding it with the stale delete result type. Preserve full shape and method checks; both worker test suites and type checks pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Make the existing Kinic CLI support the full workflow from agent reference records through retrieval, execution, evaluation, and revision publication. Once a project is configured, routine use no longer requires passing multiple JSON files on every invocation. Configuration, hook installation, and observed behavior are reported separately so users can diagnose problems and inspect learning progress.
This PR includes the continual-learning foundation and portable-learning changes that have not yet landed on
main, together with shared configuration, diagnostics, and local status reporting.Changes
.kinic/config.tomland existing user settings. Preserve explicit argument/JSON precedence, relative-path handling,--cwd, and existing connection behavior. Preserve additional configuration tables during database link/unlink.agent setupto show configuration differences and prepare DSH launch settings and distribution files. Changes require explicit application; arbitrary wrappers are not launched merely for inspection. Explain Codex hook installation separately from activation in the external application.agent doctorwith individual checks for configuration, executables, authentication, read connectivity, required APIs, hook files, and storage locations. Normal diagnostics do not run inference, write data, retry records, or perform repairs. Unverified checks remainunknown.agent statusfor local records, receipts, existing job/evaluation references, and engine-specific queues. It does not create state or directories, or infer healthy, delivered, or accepted states from incomplete evidence.--recall-config -, with regression coverage.Review fixes
--project-root, including when the command runs from another project.inherited_environmentto resolve explicitly named environment variables at runner execution time during isolated evaluation. Store only variable names in configuration; keep credential values out of verifier processes and persisted evaluation artifacts.For isolated evaluation, reference required credentials by name, for example
"inherited_environment":["OPENAI_API_KEY"]in runner configuration. Authentication that relies only on a login under the original HOME requires a supported environment variable or an explicitly configured credential path. Temporary legacy recall overrides preserve portable policy but do not start automatic jobs; use version 2 configuration for durable jobs.Verification
0aecf7bb),cargo test --workspace --quiet: 925 passed / 0 failed / 3 intentionally ignored across 43 top-level harnesses. The credential-fixture subprocess test also passed separately.2633c236), 309 related CLI tests passed, plus the credential-fixture subprocess test.cargo clippy --workspace --all-targets --locked -- -D warnings, formatting, and whitespace checks passed.docs/CONTINUAL_LEARNING_VALIDATION.md,docs/PORTABLE_LEARNING_VALIDATION.md, anddocs/superpowers/plans/2026-10-16-agent-status-progress.md.2633c236. A new CI run was triggered for that commit; this report does not claim that run has passed. Five dependency-audit jobs failed in the earlier run; the dependency update below addresses those failures.Impact and remaining scope
Branch packaging
GitHub push protection detected an artificial Slack-token fixture in earlier commits. The original branch history was retained, and the complete changes were packaged onto a PR branch based on
main. The fixture now constructs the test token withconcat!; push protection was not bypassed. Packaging did not change product code relative to the original HEAD. Redaction tests, formatting, and whitespace checks passed after the fixture adjustment. The review fixes and lint cleanup described above were then added as separate commits.CI dependency audit fix
Commit
69326248upgrades both web apps to@tanstack/react-start@1.168.60and its matching@tanstack/react-router@1.170.41, resolving GHSA-qx66-fv34-fjm8 in React Start andstart-server-core. The existingserovaloverride is updated to1.6.9to match the updated serialization plugins and keep production builds working. Audit thresholds and the existing unrelated braces exception are unchanged.Validation with the CI-pinned pnpm 11.0.8: frozen-lockfile installation and moderate-level audit passed; both web apps passed tests, lint, type checking, production builds, and Cloudflare Worker dry runs. WikiBrowser's Vitest suite passed all 226 tests across 33 files, followed by its scripted checks. GitHub Actions is rerunning for this commit.
Commit
6de39d7dfixes the two worker Candid drift checks exposed once dependency audits passed. The learning APIs changed generated result type numbers; the generator and MCP checks now use the current aliases, and MCP reuses the shared edit-result alias. All existing shape/method assertions remain enabled. Both worker type checks and all 674 tests passed locally (generator: 155; MCP: 111 Node, 326 Vitest, and 82 Worker tests). GitHub Actions is rerunning against the updated head.