36 KiB
36 KiB
CHANGELOG
Workspace lab notebook for long-running or resumable research work.
Use this file to track chronology, not release notes. Keep entries short, factual, and operational.
Entry template
YYYY-MM-DD HH:MM TZ — [slug or objective]
- Objective: ...
- Changed: ...
- Verified: ...
- Failed / learned: ...
- Blockers: ...
- Next: ...
2026-04-12 00:00 local — capital-france
- Objective: Run an unattended deep-research workflow for the question "What is the capital of France?"
- Changed: Created plan artifact at
outputs/.plans/capital-france.md; scoped the workflow as a narrow fact-verification run with direct lead-agent evidence gathering instead of researcher subagents. - Verified: Read existing
CHANGELOG.mdand recalled prior saved plan memory forcapital-francebefore finalizing the new run plan. - Failed / learned: None yet.
- Blockers: Need at least two current independent authoritative sources and a quick ambiguity check before drafting.
- Next: Collect current official/public sources, resolve any legal nuance, then draft and verify the brief.
2026-04-12 00:20 local — capital-france
- Objective: Complete evidence gathering and ambiguity check for the capital-of-France workflow.
- Changed: Wrote
notes/capital-france-research-web.mdandnotes/capital-france-legal-context.md; identified Insee (2024) and a Sénat report as the two main corroborating sources. - Verified: Cross-read current public French sources that explicitly describe Paris as the capital/capital city of France; found no current contradiction.
- Failed / learned: The Presidency homepage was useful contextual support but not explicit enough to carry the core claim alone.
- Blockers: Need citation pass and final review pass before promotion.
- Next: Draft the brief, then run verifier and reviewer passes.
2026-04-12 00:35 local — capital-france
- Objective: Move from gathered evidence to a citable draft.
- Changed: Wrote
outputs/.drafts/capital-france-draft.mdand updated the plan ledger to mark drafting complete. - Verified: Kept the core claim narrowly scoped to what the Insee and Sénat sources explicitly support; treated the Élysée page as contextual only.
- Failed / learned: None.
- Blockers: Need verifier URL/citation pass and reviewer verification pass before final promotion.
- Next: Run verifier on the draft, then review and promote the final brief.
2026-04-12 00:50 local — capital-france
- Objective: Complete citation, verification, and final promotion for the capital-of-France workflow.
- Changed: Produced
outputs/capital-france-brief.md, ran verification intonotes/capital-france-verification.md, promoted the final brief tooutputs/capital-france.md, and wroteoutputs/capital-france.provenance.md. - Verified: Reviewer found no FATAL or MAJOR issues. Core claim remains backed by two independent French public-institution sources, with Insee as the primary explicit source and the Sénat report as corroboration.
- Failed / learned: The runtime did not expose a named
verifiersubagent, so I used an available worker in a verifier-equivalent role and recorded that deviation in the plan. - Blockers: None.
- Next: If needed, extend the brief with deeper legal-historical sourcing, but the narrow factual question is sufficiently answered.
2026-04-12 10:05 local — capital-france
- Objective: Run the citation-verification pass on the capital-of-France draft and promote a final cited brief.
- Changed: Verified the three draft source URLs were live (HTTP 200 at check time), added numbered inline citations, downgraded unsupported phrasing around the Élysée/context and broad ambiguity claims, and wrote
outputs/capital-france-brief.md. - Verified: Confirmed Insee explicitly says Paris is the capital of France; confirmed the Sénat report describes Paris’s capital status and the presence of national institutions; confirmed the Élysée homepage is contextual only and not explicit enough to carry the core claim.
- Failed / learned: The draft wording about the Presidency being seated in Paris was not directly supported by the cited homepage, so it was removed rather than carried forward.
- Blockers: Reviewer pass still pending if the workflow requires an adversarial final check.
- Next: If needed, run a final reviewer pass; otherwise use
outputs/capital-france-brief.mdas the canonical brief.
2026-04-12 10:20 local — capital-france
- Objective: Close the workflow with final review, final artifact promotion, and provenance.
- Changed: Ran a reviewer pass recorded in
notes/capital-france-verification.md; promoted the cited brief intooutputs/capital-france.md; wroteoutputs/capital-france.provenance.md; updated the run plan to mark all tasks complete. - Verified: Reviewer verdict was PASS WITH MINOR REVISIONS only; those minor wording fixes were applied before delivery.
- Failed / learned: The runtime did not expose a project-named
verifieragent, so the citation pass used an available worker agent as a verifier-equivalent step. - Blockers: None.
- Next: Optional only — produce a legal memorandum on the basis of Paris's capital status if requested.
2026-03-25 00:00 local — scaling-laws
- Objective: Set up a deep research workflow for scaling laws.
- Changed: Created plan artifact at
outputs/.plans/scaling-laws.md; defined 4 disjoint researcher dimensions and acceptance criteria. - Verified: Read
CHANGELOG.mdand checked prior memory for related planscaling-laws-implications. - Failed / learned: No prior run-specific changelog entries existed beyond the template.
- Blockers: Waiting for user confirmation before launching researcher round 1.
- Next: On confirmation, spawn 4 parallel researcher subagents and begin evidence collection.
2026-03-25 00:30 local — scaling-laws (T4 inference/time-scale pass)
- Objective: Complete T4 on inference/test-time scaling and reasoning-time compute, scoped to 2023–2026.
- Changed: Wrote
notes/scaling-laws-research-inference.md; updatedoutputs/.plans/scaling-laws.mdto mark T4 done and log the inference-scaling verification pass. - Verified: Cross-read 13 primary/official sources covering Tree-of-Thoughts, PRMs, repeated sampling, compute-optimal test-time scaling, provable laws, o1, DeepSeek-R1, s1, verifier failures, Anthropic extended thinking, and OpenAI reasoning API docs.
- Failed / learned: OpenAI blog fetch for
learning-to-reason-with-llmsreturned malformed content, so the note leans on the o1 system card and API docs instead of that blog post. - Blockers: T2 and T5 remain open before final synthesis; no single unified law for inference-time scaling emerged from public sources.
- Next: Complete T5 implications synthesis, then reconcile T3/T4 with foundational T2 before drafting the cited brief.
2026-03-25 11:20 local — scaling-laws (T6 draft synthesis)
- Objective: Synthesize the four research notes into a single user-facing draft brief for the scaling-laws workflow.
- Changed: Wrote
outputs/.drafts/scaling-laws-draft.mdwith an executive summary, curated reading list, qualitative meta-analysis, core-paper comparison table, explicit training-vs-inference distinction, and numbered inline citations with direct-URL sources. - Verified: Cross-checked the draft against
notes/scaling-laws-research-foundations.md,notes/scaling-laws-research-revisions.md,notes/scaling-laws-research-inference.md, andnotes/scaling-laws-research-implications.mdto ensure the brief explicitly states the literature is too heterogeneous for a pooled effect-size estimate. - Failed / learned: The requested temp-run
context.mdandplan.mdwere absent, so the synthesis usedoutputs/.plans/scaling-laws.mdplus the four note files as the working context. - Blockers: Citation/claim verification pass still pending; this draft should be treated as pre-verification.
- Next: Run verifier/reviewer passes, then promote the draft into the final cited brief and provenance sidecar.
2026-03-25 11:28 local — scaling-laws (final brief + pdf)
- Objective: Deliver a paper guide and qualitative meta-analysis on AI scaling laws.
- Changed: Finalized
outputs/scaling-laws.mdand sidecaroutputs/scaling-laws.provenance.md; rendered preview PDF atoutputs/scaling-laws.pdf; updated plan ledger and verification log inoutputs/.plans/scaling-laws.md. - Verified: Ran a reviewer pass recorded in
notes/scaling-laws-verification.md; spot-checked key primary papers via alpha-backed reads for Kaplan 2020, Chinchilla 2022, and Snell 2024; confirmed PDF render output exists. - Failed / learned: A pooled statistical meta-analysis would be misleading because the literature mixes heterogeneous outcomes, scaling axes, and evaluation regimes; final deliverable uses a qualitative meta-analysis instead.
- Blockers: None for this brief.
- Next: If needed, extend into a narrower sub-survey (e.g. only pretraining laws, only inference-time scaling, or only post-Chinchilla data-quality revisions).
2026-03-25 14:52 local — skills-only-install
- Objective: Let users download the Feynman research skills without installing the full terminal runtime.
- Changed: Added standalone skills-only installers at
scripts/install/install-skills.shandscripts/install/install-skills.ps1; synced website-public copies; documented user-level and repo-local install flows inREADME.md,website/src/content/docs/getting-started/installation.md, andwebsite/src/pages/index.astro. - Verified: Ran
sh -n scripts/install/install-skills.sh; rannode scripts/sync-website-installers.mjs; rancd website && npm run build; executedsh scripts/install/install-skills.sh --dir <tmp>and confirmed extractedSKILL.mdfiles land in the target directory. - Failed / learned: PowerShell installer behavior was not executed locally because PowerShell is not installed in this environment.
- Blockers: None for the Unix installer flow; Windows remains syntax-only by inspection.
- Next: If users want this exposed more prominently, add a dedicated docs/reference page and a homepage-specific skills-only CTA instead of a text link.
2026-03-26 18:08 PDT — installer-release-unification
- Objective: Remove the moving
edgeinstaller channel and unify installs on tagged releases only. - Changed: Updated
scripts/install/install.sh,scripts/install/install.ps1,scripts/install/install-skills.sh, andscripts/install/install-skills.ps1so the default target is the latest tagged release, latest-version resolution uses public GitHub release pages instead ofapi.github.com, and explicitedgerequests now fail with a removal message; removed therelease-edgejob from.github/workflows/publish.yml; updatedREADME.mdandwebsite/src/content/docs/getting-started/installation.md; re-syncedwebsite/public/install*. - Verified: Ran
sh -non the Unix installer copies; confirmedsh scripts/install/install.sh edgeandsh scripts/install/install-skills.sh edge --dir <tmp>fail with the intended removal message; executedsh scripts/install/install.shinto temp dirs and confirmed the installed binary reports0.2.14; executedsh scripts/install/install-skills.sh --dir <tmp>and confirmed extractedSKILL.mdfiles; rancd website && npm run build. - Failed / learned: The install failure was caused by unauthenticated GitHub API rate limiting on the
edgepath, so renaming channels without removing the API dependency would not have fixed the root cause. - Blockers:
npm run buildstill emits a pre-existing duplicate-content warning forgetting-started/installation; the build succeeds. - Next: If desired, remove the now-unused
stablealias too and clean up the duplicate docs-content warning separately.
2026-03-27 11:58 PDT — release-0.2.15
- Objective: Make the non-Anthropic subagent/auth fixes and contributor-guide updates releasable to tagged-install users instead of leaving them only on
main. - Changed: Bumped the package version from
0.2.14to0.2.15inpackage.jsonandpackage-lock.json; updated pinned installer examples inREADME.mdandwebsite/src/content/docs/getting-started/installation.md; aligned the local-development docs example to the npm-based root workflow; addedCONTRIBUTING.mdplus the bundledskills/contributing/SKILL.md. - Verified: Confirmed the publish workflow keys off
package.jsonversus the currently published npm version; confirmed localnpm test,npm run typecheck, andnpm run buildpass before the release bump. - Failed / learned: The open subagent issue is fixed on
mainbut still user-visible on tagged installs until a fresh release is cut. - Blockers: Need the GitHub publish workflow to finish successfully before the issue can be honestly closed as released.
- Next: Push
0.2.15, monitor the publish workflow, then update and close the relevant GitHub issue/PR once the release is live.
2026-03-28 15:15 PDT — pi-subagents-agent-dir-compat
- Objective: Debug why tagged installs can still fail subagent/auth flows after
0.2.15when users are not on Anthropic. - Changed: Added
scripts/lib/pi-subagents-patch.mjsplus type declarations and wiredscripts/patch-embedded-pi.mjsto rewrite vendoredpi-subagentsruntime files so they resolve user-scoped paths fromPI_CODING_AGENT_DIRinstead of hardcoded~/.pi/agent; addedtests/pi-subagents-patch.test.ts. - Verified: Materialized
.feynman/npm, inspected the shippedpi-subagents@0.11.11sources, confirmed the hardcoded~/.pi/agentpaths inindex.ts,agents.ts,artifacts.ts,run-history.ts,skills.ts, andchain-clarify.ts; rannode scripts/patch-embedded-pi.mjs; rannpm test,npm run typecheck, andnpm run build. - Failed / learned: The earlier
0.2.15fix only proved that Feynman exportedPI_CODING_AGENT_DIRto the top-level Pi child; it did not cover vendored extension code that still hardcoded.pipaths internally. - Blockers: Users still need a release containing this patch before tagged installs benefit from it.
- Next: Cut the next release and verify a tagged install exercises subagents without reading from
~/.pi/agent.
2026-03-28 21:46 PDT — release-0.2.16
- Objective: Ship the vendored
pi-subagentsagent-dir compatibility fix to tagged installs. - Changed: Bumped the package version from
0.2.15to0.2.16inpackage.jsonandpackage-lock.json; updated pinned installer examples inREADME.mdandwebsite/src/content/docs/getting-started/installation.md. - Verified: Re-ran
npm test,npm run typecheck, andnpm run build; rancd website && npm run build; rannpm packand confirmed the0.2.16tarball includes the newscripts/lib/pi-subagents-patch.*files. - Failed / learned: An initial local
build:native-bundlecheck failed becausenpm packandbuild:native-bundlewere run in parallel, andprepackintentionally removesdist/release; rerunningnpm run build:native-bundlesequentially succeeded. - Blockers: None in the repo; publishing still depends on the GitHub workflow running on the bumped version.
- Next: Push the
0.2.16release bump and monitor npm/GitHub release publication.
2026-03-31 10:45 PDT — pi-maintenance-issues-prs
- Objective: Triage open Pi-related issues/PRs, fix the concrete package update regression, and refresh Pi dependencies against current upstream releases.
- Changed: Pinned direct package-manager operations (
feynman update,feynman packages install) to Feynman's npm prefix by exportingFEYNMAN_NPM_PREFIX,NPM_CONFIG_PREFIX, andnpm_config_prefixbefore invoking Pi'sDefaultPackageManager; bumped@mariozechner/pi-aiand@mariozechner/pi-coding-agentfrom0.62.0to0.64.0; adaptedsrc/model/registry.tsto the newModelRegistry.create(...)factory; integrated PR #15's/feynman-modelcommand on top of currentmain. - Verified: Ran
npm test,npm run typecheck, andnpm run buildsuccessfully after the dependency bump and PR integration; confirmed upstreampi-coding-agent@0.64.0still usesnpm install -gfor user-scope package updates, so the Feynman-side prefix fix is still required. - Failed / learned: PR #14 is a stale branch with no clean merge path against current
main; the only user-facing delta is the ValiChord prompt/skill addition, and the branch also carries unrelated release churn plus demo-style material, so it was not merged in this pass. - Blockers: None in the local repo state; remote merge/push still depends on repository credentials and branch policy.
- Next: If remote write access is available, commit and push the validated maintenance changes, then close issue #22 and resolve PR #15 as merged while leaving PR #14 unmerged pending a cleaned-up, non-promotional resubmission.
2026-03-31 12:05 PDT — pi-backlog-cleanup-round-2
- Objective: Finish the remaining high-confidence open tracker items after the Pi 0.64.0 upgrade instead of leaving the issue list half-reconciled.
- Changed: Added a Windows extension-loader patch helper so Feynman rewrites Pi extension imports to
file://URLs on Windows before interactive startup; added/commands,/tools, and/capabilitiesdiscovery commands and surfaced/hotkeysplus/service-tierin help metadata; added explicit service-tier support viafeynman model tier,--service-tier, status/doctor output, and a provider-payload hook that passesservice_tieronly to supported OpenAI/OpenAI Codex/Anthropic models; added Exa provider recognition to Feynman's web-search status layer and vendoredpi-web-access. - Verified: Ran
npm test,npm run typecheck, andnpm run build; smoke-imported the modified vendoredpi-web-accessmodules withnode --import tsx. - Failed / learned: The remaining ValiChord PR is still stale and mixes a real prompt/skill update with unrelated branch churn; it is a review/triage item, not a clean merge candidate.
- Blockers: No local build blockers remain; issue/PR closure still depends on the final push landing on
main. - Next: Push the verified cleanup commit, then close issues fixed by the dependency bump plus the new discoverability/service-tier/Windows patches, and close the stale ValiChord PR explicitly instead of leaving it open indefinitely.
2026-04-09 09:37 PDT — windows-startup-import-specifiers
- Objective: Fix Windows startup failures where
feynmanexits before the Pi child process initializes. - Changed: Converted the Node preload module paths passed via
node --importinsrc/pi/launch.tstofile://specifiers using a newtoNodeImportSpecifier(...)helper insrc/pi/runtime.ts; expandedscripts/patch-embedded-pi.mjsso it also patches the bundled workspace copy of Pi's extension loader when present. - Verified: Added a regression test in
tests/pi-runtime.test.tscovering absolute-path tofile://conversion for preload imports; rannpm test,npm run typecheck, andnpm run build. - Failed / learned: The raw Windows
ERR_UNSUPPORTED_ESM_URL_SCHEMEstack is more consistent with Node rejecting the child-process--import C:\\...preload before Pi starts than with a normal in-app extension load failure. - Blockers: Windows runtime execution was not available locally, so the fix is verified by code path inspection and automated tests rather than an actual Windows shell run.
- Next: Ask the affected user to reinstall or update to the next published package once released, and confirm the Windows REPL now starts from a normal PowerShell session.
2026-04-09 11:02 PDT — tracker-hardening-pass
- Objective: Triage the open repo backlog, land the highest-signal fixes locally, and add guardrails against stale promotional workflow content.
- Changed: Hardened Windows launch paths in
bin/feynman.js,scripts/build-native-bundle.mjs, andscripts/install/install.ps1; set npm prefix overrides earlier inscripts/patch-embedded-pi.mjs; added api-web-accessruntime patch helper plusFEYNMAN_WEB_SEARCH_CONFIGenv wiring so bundled web search reads the same~/.feynman/web-search.jsonthat doctor/status report; taughtsrc/pi/web-access.tsto honor the legacyroutekey; fixed bundled skill references and expanded the skills-only installers/docs to ship the prompt and guidance files those skills reference; added regression tests for config paths, catalog snapshot edges, skill-path packaging,pi-web-accesspatching, and blocked promotional content. - Verified: Ran
npm test,npm run typecheck, andnpm run buildsuccessfully after the full maintenance pass. - Failed / learned: The skills-only install issue was not just docs drift; the shipped
SKILL.mdfiles referenced prompt paths that only made sense after installation, so the repo needed both path normalization and packaging changes. - Blockers: Remote issue/PR closure and merge actions still depend on the final reviewed branch state being pushed.
- Next: Push the validated fixes, close the duplicate Windows/reporting issues they supersede, reject the promotional ValiChord PR explicitly, and then review whether the remaining docs-only or feature PRs should be merged separately.
2026-04-09 10:28 PDT — verification-and-security-pass
- Objective: Run a deeper install/security verification pass against the post-cleanup
0.2.17tree instead of assuming the earlier targeted fixes covered the shipped artifacts. - Changed: Reworked
extensions/research-tools/header.tsto use@mariozechner/pi-tuiwidth-aware helpers for truncation/wrapping so wide Unicode text does not overflow custom header rows; changedsrc/pi/launch.tsto stop mirroring child crash signals back onto the parent process and instead emit a conventional exit code; addedFEYNMAN_INSTALL_SKILLS_ARCHIVE_URLoverrides to the skills installers for pre-release smoke testing; aligned root and website dependency trees with patched transitive versions using npmoverrides; fixedsrc/pi/web-access.tssosearch statusrespectsFEYNMAN_HOMEsemantics instead of hardcoding the current shell home directory; addedtests/pi-launch.test.ts. - Verified: Ran
npm test,npm run typecheck,npm run build,cd website && npm run build,npm run build:native-bundle; smoke-testedscripts/install/install.shagainst a locally serveddist/release/feynman-0.2.17-darwin-arm64.tar.gz; smoke-testedscripts/install/install-skills.shagainst a local source archive; confirmed installedfeynman --version,feynman --help,feynman doctor, and packagedfeynman search statuswork from the installed bundle;npm audit --omit=devis clean in the root app and website after overrides. - Failed / learned: The first packaged
search statussmoke test still showed the user home path because the native bundle had been built before theFEYNMAN_HOMEpath fix; rebuilding the native bundle resolved that mismatch. - Blockers: PowerShell runtime was unavailable locally, so Windows installer execution remained code-path validated rather than actually executed.
- Next: Push the second-pass hardening commit, then keep issue
#46and issue#47open until users on the affected Linux/CJK environments confirm whether the launcher/header fixes fully resolve them.
2026-04-09 10:36 PDT — remaining-tracker-triage-pass
- Objective: Reduce the remaining open tracker items by landing the lowest-risk missing docs/catalog updates and a targeted Cloud Code Assist compatibility patch instead of only hand-triaging them.
- Changed: Added MiniMax M2.7 recommendation preferences in
src/model/catalog.ts; documented model switching, authenticated-provider visibility, and/feynman-modelsubagent overrides inwebsite/src/content/docs/getting-started/configuration.mdandwebsite/src/content/docs/reference/slash-commands.md; added a runtime patch helper inscripts/lib/pi-google-legacy-schema-patch.mjsand wiredscripts/patch-embedded-pi.mjsto normalize JSON Schemaconstintoenumfor the legacyparametersfield used by Cloud Code Assist Claude models. - Verified: Ran
npm test,npm run typecheck,npm run build, andcd website && npm run buildafter the patch/helper/docs changes. - Failed / learned: The MiniMax provider catalog in Pi already uses canonical IDs like
MiniMax-M2.7, so the only failure during validation was a test assertion using the wrong casing rather than a runtime bug. - Blockers: The Cloud Code Assist fix is validated by targeted patch tests and code-path review rather than an end-to-end Google account repro in this environment.
- Next: Push the tracker-triage commit, close the docs/MiniMax PRs as superseded by main, close the support-style model issues against the new docs, and decide whether the remaining feature requests should be left open or closed as not planned/upstream-dependent.
2026-04-10 10:22 PDT — web-access-stale-override-fix
- Objective: Fix the new
ctx.modelRegistry.getApiKeyAndHeaders is not a function/ stalesearch-filter.jsreport without reintroducing broad vendor drift. - Changed: Removed the stale
.feynman/vendor-overrides/pi-web-access/*files and removedsyncVendorOverridefromscripts/patch-embedded-pi.mjs; kept the targetedpi-web-accessruntime config-path patch; addedfeynman search set <provider> [api-key]andfeynman search clearcommands with a shared save path insrc/pi/web-access.ts. - Verified: Ran
npm test,npm run typecheck,npm run build; rannode scripts/patch-embedded-pi.mjs, confirmed the installedpi-web-access/index.tshas nosearch-filter/ condense helper references, and smoke-imported./.feynman/npm/node_modules/pi-web-access/index.ts; rannpm pack --dry-runand confirmed stalevendor-overridesfiles are no longer in the package tarball. - Failed / learned: The public Linux installer Docker test was attempted but Docker Desktop became unresponsive even for simple
docker run node:22-bookworm node -vcommands; the earlier Linux npm-artifact container smoke remains valid, but this specific public-installer run is blocked by the local Docker daemon. - Blockers: Issue
#54is too underspecified to fix directly without logs; public Linux installer behavior still needs a stable Docker daemon or a real Linux shell to reproduce the user's exact npm errors. - Next: Push the stale-override fix, close PR
#52and PR#53as superseded/merged-by-main once pushed, and ask for logs on issue#54instead of guessing.
2026-04-10 10:49 PDT — rpc-and-website-verification-pass
- Objective: Exercise the Feynman wrapper's RPC mode and the website quality gates that were not fully covered by the prior passes.
- Changed: Added
--mode <text|json|rpc>pass-through support in the Feynman wrapper and skipped terminal clearing in RPC mode; added@astrojs/checkto the website dev dependencies, fixed React Refresh lint violations in the generated UI components by exporting only components, and added safe website dependency overrides for dev-audit findings. - Verified: Ran a JSONL RPC smoke test through
node bin/feynman.js --mode rpcwithget_state; rannpm test,npm run typecheck,npm run build,cd website && npm run lint,cd website && npm run typecheck,cd website && npm run build, full rootnpm audit, full websitenpm audit, andnpm run build:native-bundle. - Failed / learned: Website typecheck was previously a no-op prompt because
@astrojs/checkwas missing; installing it exposed dev-audit findings that needed explicit overrides before the full website audit was clean. - Blockers: Docker Desktop remained unreliable after restart attempts, so this pass still does not include a second successful public-installer Linux Docker run.
- Next: Push the RPC/website verification commit and keep future Docker/public-installer validation separate from repo correctness unless Docker is stable.
2026-04-12 09:32 PDT — pi-0.66.1-upgrade-pass
- Objective: Update Feynman from Pi
0.64.0to the current0.66.1packages and absorb any downstream SDK/runtime compatibility changes instead of leaving the repo pinned behind upstream. - Changed: Bumped
@mariozechner/pi-aiand@mariozechner/pi-coding-agentto0.66.1plus@companion-ai/alpha-hubto0.1.3inpackage.jsonandpackage-lock.json; updatedextensions/research-tools.tsto stop listening for the removedsession_switchextension event and rely onsession_start, which now carries startup/reload/new/resume/fork reasons in Pi0.66.x. - Verified: Ran
npm test,npm run typecheck, andnpm run buildsuccessfully after the upgrade; smoke-rannode bin/feynman.js --version,node bin/feynman.js doctor, andnode bin/feynman.js statussuccessfully; checked upstream package diffs and confirmed the breaking change that affected this repo was the typed extension lifecycle change inpi-coding-agent, whilepi-aimainly brought refreshed provider/model catalog code including Bedrock/OpenAI provider updates and new generated model entries. - Failed / learned:
ctx7resolved Pi correctly to/badlogic/pi-mono, but its docs snapshot was not release-note oriented; the concrete downstream-impact analysis came from the actual0.64.0→0.66.1package diffs and local validation, not from prose docs alone. - Failed / learned: The first post-upgrade CLI smoke test failed before Feynman startup because
@companion-ai/alpha-hub@0.1.2shipped a zero-bytesrc/lib/auth.js; bumping to0.1.3fixed that adjacent runtime blocker. - Blockers:
npm installreports two high-severity vulnerabilities remain in the dependency tree; this pass focused on the Pi upgrade and did not remediate unrelated audit findings. - Next: Push the Pi upgrade, then decide whether to layer the pending model-command fixes on top of this branch or land them separately to keep the dependency bump easy to review.
2026-04-12 13:00 PDT — model-command-and-bedrock-fix-pass
- Objective: Finish the remaining user-facing model-management regressions instead of stopping at the Pi dependency bump.
- Changed: Updated
src/model/commands.tssofeynman model login <provider>resolves both OAuth and API-key providers;feynman model logout <provider>clears either auth mode;feynman model setaccepts bothprovider/modelandprovider:model; ambiguous bare model IDs now prefer explicitly configured providers from auth storage; added anamazon-bedrocksetup path that validates the AWS credential chain with the AWS SDK and stores Pi's<authenticated>sentinel so Bedrock models appear inmodel list; syncedsrc/cli.ts,metadata/commands.mjs,README.md, and the website docs to the new behavior. - Verified: Added regression tests in
tests/model-harness.test.tsforprovider:model, API-key provider resolution, and ambiguous bare-ID handling; rannpm test,npm run typecheck,npm run build, andcd website && npm run build; exercised command-level flows against throwawayFEYNMAN_HOMEdirectories: interactivenode bin/feynman.js model login google,node bin/feynman.js model set google:gemini-3-pro-preview,node bin/feynman.js model set gpt-5.4with only OpenAI configured, andnode bin/feynman.js model login amazon-bedrock; confirmedmodel listshows Bedrock models after the new setup path; ran a live one-shot promptnode bin/feynman.js --prompt "Reply with exactly OK"and gotOK. - Failed / learned: The website build still emits duplicate-id warnings for a handful of docs pages, but it completes successfully; those warnings predate this pass and were not introduced by the model-command edits.
- Blockers: The Bedrock path is verified with the current shell's AWS credential chain, not with a fresh machine lacking AWS config; broader upstream Pi behavior around IMDS/default-profile autodiscovery without the sentinel is still outside this repo.
- Next: Commit and push the combined Pi/model/docs maintenance branch, then decide whether to tackle the deeper search/deepresearch hang issues separately or leave them for focused repro work.
2026-04-12 13:35 PDT — workflow-unattended-and-search-curator-fix-pass
- Objective: Fix the remaining workflow deadlocks instead of leaving
deepresearchand terminal web search half-functional after the maintenance push. - Changed: Updated the built-in research workflow prompts (
deepresearch,lit,review,audit,compare,draft,watch) so they present the plan and continue automatically rather than blocking for approval; extended thepi-web-accessruntime patch so Feynman rewrites its default workflow from browser-basedsummary-reviewtonone; added explicitworkflow: "none"persistence insrc/search/commands.tsandsrc/pi/web-access.ts, plus surfaced the workflow in doctor/status-style output. - Verified: Reproduced the original
deepresearchfailure mode in print mode, where the run createdoutputs/.plans/capital-france.mdand then stopped waiting for user confirmation; after the prompt changes, rerandeepresearch "What is the capital of France?"and confirmed it progressed beyond planning and producedoutputs/.drafts/capital-france-draft.md; inspectedpi-web-access@0.10.6and confirmed the exactwaiting for summary approval...string andsummary-reviewdefault live in that package; added regression tests for the newpi-web-accesspatch and workflow-none status handling; rerannpm test,npm run typecheck, andnpm run build; smoke-testedfeynman search set exa exa_test_keyunder a throwawayFEYNMAN_HOMEand confirmed it writes"workflow": "none"toweb-search.json. - Failed / learned: The long-running deepresearch session still spends substantial time in later reasoning/writing steps for even a narrow query, but the plan-confirmation deadlock itself is resolved; the remaining slowness is model/workflow behavior, not the original stop-after-plan bug.
- Blockers: I did not install and execute the full optional
pi-session-searchpackage locally, so the terminalsummary approvalfix is validated by source inspection plus the Feynman patch path and config persistence rather than a local end-to-end package install. - Next: Commit and push the workflow/search fix pass, then close or answer the remaining deepresearch/search issues with the specific root causes and shipped fixes.
2026-04-12 14:05 PDT — final-artifact-hardening-pass
- Objective: Reduce the chance of unattended research workflows stopping at intermediate artifacts like
<slug>-brief.mdwithout promoting the final deliverable and provenance sidecar. - Changed: Tightened
prompts/deepresearch.mdso the agent must verify on disk that the plan, draft, cited brief, promoted final output, and provenance sidecar all exist before stopping; tightenedprompts/lit.mdso it explicitly checks for the final output plus provenance sidecar instead of stopping at an intermediate cited draft. - Verified: Cross-read the current deepresearch/lit deliver steps after the earlier unattended-run reproductions and confirmed the missing enforcement point was the final on-disk artifact check, not the naming convention itself.
- Failed / learned: This is still prompt-level enforcement rather than a deterministic post-processing hook, so it improves completion reliability but does not provide the same guarantees as a dedicated artifact-finalization wrapper.
- Blockers: I did not rerun a full broad deepresearch workflow end-to-end after this prompt-only hardening because those runs are materially longer and more expensive than the narrow reproductions already used to isolate the earlier deadlocks.
- Next: Commit and push the prompt hardening, then, if needed, add a deterministic wrapper around final artifact promotion instead of relying only on prompt adherence.
2026-04-12 13:20 PDT — capital-france (citation verification brief)
- Objective: Verify citations in the capital-of-France draft and produce a cited verifier brief.
- Changed: Read
outputs/.drafts/capital-france-draft.md,notes/capital-france-research-web.md, andnotes/capital-france-legal-context.md; fetched the three draft URLs directly; wrotenotes/capital-france-brief.mdwith inline numbered citations and a numbered direct-URL sources list. - Verified: Confirmed the Insee, Sénat, and Élysée URLs were reachable on 2026-04-12; confirmed Insee and Sénat support the core claim that Paris is the capital of France; marked the Élysée homepage as contextual-only support.
- Failed / learned: The Élysée homepage does not explicitly state the core claim, so it should not be used as sole evidence for capital status.
- Blockers: None for the verifier brief; any stronger legal memo would still need a more direct constitutional/statutory basis if that specific question is asked.
- Next: Promote the brief into the final output or downgrade/remove any claim that leans on the Élysée URL alone.