Three independently ugly bugs that all fed the same log flood:
* Electron's `WebFrameMain.send` writes every "Render frame was disposed"
to stderr via `console.error`. When the worker fans a second
agent-event past a reloading renderer, we produced thousands of
identical lines and stalled the main loop on stderr I/O. Added a
`mainFrame.detached` guard so the send is short-circuited before
Electron's own catch block fires, and installed a targeted filter in
`suppress-warnings.ts` (now actually imported from the entry point)
so the specific `console.error("Error sending from webFrameMain:"…)`
noise never reaches the terminal. Any other payload still surfaces.
* `dispatchAgentMessage` accepted the human-reader sentinel as a wake
target when an agent replied to `__board__` — `wakeAgentIfPossible`
then called `db.getAgent("__board__")`, threw, and the dispatcher
kept repeating on every send. Strip `HUMAN_SENDER_ID` at
`resolveMessageWakeTargets`, and keep a defense-in-depth guard in the
heartbeat so a stray caller (future automation fan-out) cannot
reintroduce the crash.
* Pi's skills loader rejects any SKILL.md whose frontmatter `name`
diverges from its parent directory. The four bundled `my-writing-style`
copies declared `name: writing-style-skill`, so every install emitted
a warning and dropped the skill. They also lived as orphan gitlinks
(mode 160000 without .gitmodules), and the global `*.md` gitignore
hid every other SKILL.md from version control. Fixed the frontmatter
to match the dir, converted the dangling submodules to plain trees,
and allowlisted `builtin-skills/**/*.md` so a fresh clone carries the
catalogue instead of silently losing it.
87 lines
1.4 KiB
Plaintext
87 lines
1.4 KiB
Plaintext
# Dependencies
|
|
node_modules/
|
|
|
|
# Build outputs
|
|
out/
|
|
mac-arm64/
|
|
dist/
|
|
coverage/
|
|
*.tsbuildinfo
|
|
win-unpacked
|
|
.blockmap
|
|
.claude
|
|
/build
|
|
.omc
|
|
.omx
|
|
.planning/*
|
|
!.planning/**/
|
|
paperclip-reference
|
|
Reference
|
|
.pnpm-store
|
|
# Test artifacts
|
|
test-results/
|
|
playwright-report/
|
|
|
|
# Signing certificates (NEVER commit these)
|
|
*.p12
|
|
*.cer
|
|
*.pem
|
|
*.key
|
|
*.p8
|
|
*.csr
|
|
*.certSigningRequest
|
|
*.provisionprofile
|
|
*.mobileprovision
|
|
|
|
# Environment files
|
|
.env
|
|
.env.*
|
|
.env.local
|
|
.env.*.local
|
|
!.env.example
|
|
!.env.release.example
|
|
|
|
# Editor and OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
.idea/
|
|
.vscode/
|
|
|
|
# Local reference material
|
|
oldreference/
|
|
|
|
# Markdown docs
|
|
*.md
|
|
!/README.md
|
|
!/docs/*.md
|
|
!/CLAUDE.md
|
|
!/.planning/**/*.md
|
|
!/src/main/prompt-builder/**/*.md
|
|
# Bundled Agent Skills ship their SKILL.md / README.md as source of truth.
|
|
# The Pi skills loader rejects entries whose frontmatter `name` diverges from
|
|
# the parent directory; losing SKILL.md to the blanket *.md ignore meant a
|
|
# fresh checkout silently dropped every skill from the catalogue.
|
|
!/builtin-skills/**/*.md
|
|
*.zip
|
|
*.blockmap
|
|
*.exe
|
|
|
|
# Local design scratch files
|
|
homepagedesign.html
|
|
|
|
# Landing page is part of the repo and should be versioned
|
|
|
|
# Boss edition build (contains credentials — never commit)
|
|
boss-build/
|
|
|
|
# Package manager logs
|
|
npm-debug.log*
|
|
pnpm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
local-release/
|
|
.omx/
|
|
|
|
# Runtime state (written by app at runtime)
|
|
state/
|