Skip to content

chore: sync upstream pi-mono + namespace rename (@mariozechner → @earendil-works) + gpt-5.5#12

Merged
gbharg merged 835 commits into
mainfrom
chore/upstream-sync-2026-05-23
May 23, 2026
Merged

chore: sync upstream pi-mono + namespace rename (@mariozechner → @earendil-works) + gpt-5.5#12
gbharg merged 835 commits into
mainfrom
chore/upstream-sync-2026-05-23

Conversation

@gbharg

@gbharg gbharg commented May 23, 2026

Copy link
Copy Markdown
Owner

Summary

Full merge of upstream/main (badlogic/pi-mono) into our fork, picking up ~800 upstream commits including:

  • Package namespace rename: @mariozechner/pi-*@earendil-works/pi-* (pi-tui, pi-ai, pi-agent-core, pi-coding-agent)
  • gpt-5.5 + gpt-5.5-pro now in pi-ai 0.75.4 (unblocks subagent model swap in PR feat: RC front-office optimization + AMD/subagent fixes #11)
  • Many upstream fixes/features (anthropic adaptive thinking, opencode session headers, bedrock smithy handler, etc.)

Local adaptation work

  • Renamed all @mariozechner/pi-* imports in .pi/extensions, packages/coding-agent/examples, packages/gbharg-auto-review, theme loader, etc.
  • Bumped gbharg-auto-review pin to ^0.75.4
  • Removed duplicate keys in coding-agent/src/core/extensions/loader.ts (sed pass introduced dupes where both old + new names pre-existed)
  • Added : any annotations for 4 noImplicitAnyLet errors in gbharg-auto-review
  • biome --write --unsafe auto-fixes
  • Pinned floating ^ deps in .pi/services + gbharg-auto-review per check:pinned-deps
  • Rewrote relative .js.ts imports per check:ts-imports
  • .gitignore .next/ + deleted tracked dashboard .next dirs

Test plan

badlogic and others added 30 commits May 7, 2026 16:32
Added 'herrnel' as an approved contributor.
# Conflicts:
#	package-lock.json
#	packages/agent/package.json
…on-in-config-tui

fix(coding-agent): preserve .agents provenance in skill metadata
docs(coding-agent): fix termux-open chooser flag
badlogic and others added 22 commits May 22, 2026 00:28
- Tighten all sections (279 -> 159 lines) without dropping rules.
- Reorganize: git rules moved next to issues/PRs.
- Defer contributor gate details to CONTRIBUTING.md.
- Replace stale npx tsx test command with node (strip-only mode); add ./test.sh + e2e warning.
- Releasing: explicit WebAuthn briefing step, no bash timeout, stop on partial publish failure.
- Move LLM provider checklist to .pi/skills/add-llm-provider.md.
…evice-code-login

feat(ai): refactor device code login for copilot
fix(coding-agent): use the right basedir for patterns
Adds 10 project-level skills under .claude/skills/ for common Exult
Healthcare front-office workflows, split across AdvancedMD (5) and
RingCentral (5). Each SKILL.md covers: purpose, inputs, prerequisites,
API-first workflow with UI fallback, per-request approval gates, verify,
rollback, common pitfalls, and references to local AMD API doc cache +
memory.

PHI/PCI-sensitive skills (add-patient, reschedule, cancel, records,
payment) require explicit per-request Gautam approval before any write
and never log full PHI/card data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds 10 new project-level skills covering insurance verification + add,
patient check-in, document upload, patient messaging, refunds, SMS
reminders, IVR updates, temporary call forwarding, and a composite
daily KPI report. Updates INDEX.md and preserves batch 1 conventions
(API-first + UI fallback, per-request approval gates for PHI/financial
writes, PHI redaction rules).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nd AMD XMLRPC

Adds three local stdio MCP servers under packages/exult-mcp/ to fill gaps in
Claude Desktop coverage of Exult Healthcare operational services:

- ringcentral-admin: RC Platform API with the Remote Admin JWT — extensions,
  call queues, IVR, detailed/paginated call log, voicemails, transcripts
  (fills the gap Keragon RC MCP leaves around admin/pagination/voicemail).
- microsoft365-admin: Graph client_credentials (Exult Agent Service app) for
  tenant-wide directory, any-mailbox mail/calendar, groups, SharePoint
  (claude_ai_Microsoft_365 is Gautam's personal delegated OAuth — doesn't
  cover tenant admin).
- advancedmd-xmlrpc: ARC022825 service-account XMLRPC for getUpdatedPatients,
  getUpdatedVisits, getVisitInfoByDate, getEhrUpdatedNotes,
  getAppointmentHistory, plus a raw_xmlrpc_request escape hatch. Complements
  Keragon AMD (which can't reach the service-account-only getUpdated family).

All tools are READ-ONLY. Writes deliberately excluded — AMD writes require
Gautam's per-operation approval and Keragon already covers the write APIs.

Each server live-smoke-tested against its real API during build:
- RC returned account 2761864020 / Confirmed
- M365 returned tenant Exult Healthcare / 707a7153-...
- AMD XMLRPC login + getfieldsets probe returned 3310 bytes of table XML

Full build log at .pi/services/mcp_setup/build_log.md including MBP config
discovery gap (MBP offline 8h, ssh unreachable), coverage gap analysis, and
the claude.ai remote MCP hosting note (only M365 is hostable; RC and AMD are
local-only due to PHI + session-auth).

Claude Desktop config at ~/Library/Application Support/Claude/ was updated
out-of-tree and is NOT part of this commit. Credential JSON files remain
uncommitted in .config/exult/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…-2026-05-23

# Conflicts:
#	.gitignore
#	packages/coding-agent/examples/extensions/subagent/index.ts
Upstream pi-mono renamed @mariozechner/pi-* → @earendil-works/pi-*. This
commit lands the full upstream merge plus the post-merge work needed for
local extensions/packages to build & pass all pre-commit gates.

- @mariozechner/pi-* → @earendil-works/pi-* in source files
- gbharg-auto-review pin → ^0.75.4
- Dedupe loader.ts virtualModules + getAliases (sed-pass dupes)
- `: any` annotations for noImplicitAnyLet errors (cli.ts + index.ts)
- biome --write --unsafe auto-fixes (useTemplate, useLiteralKeys, etc)
- Pin floating ^ deps per check:pinned-deps
- Rewrite relative .js → .ts imports (gbharg-auto-review + .pi/extensions)
- .gitignore .next/ + delete tracked .next dirs
- Cast StringEnum() to any in sendblue extension (TUnsafe vs TSchema mismatch
  post-upstream typebox bump)

Build passes for all 4 workspace packages: pi-tui, pi-ai (gpt-5.5 +
gpt-5.5-pro exposed), pi-agent-core, pi-coding-agent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

@gautam-gemini gautam-gemini Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Gemini: Review failed — /Users/Work/.local/bin/gemini exited with code 1: Skill conflict detected: "sherpa-onnx-tts" from "/Users/Work/.gemini/skills/voice:sherpa-onnx-tts/SKILL.md" is overriding the same skill from "/Users/Work/.gemini/skills/voice:tts/SKILL.md".Skill conflict detected: "openai-whisper" from "/Users/Work/.gemini/skills/voice:openai-whisper/SKILL.md" is overriding the same skill from "/Users/Work/.gemini/skills/voice:whisper/SKILL.md".Skill conflict detected: "sag" from "/Users/Work/.gemini/skills/voice:dictation/SKILL.md" is overriding the same skill

@gautam-claude gautam-claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Claude: Review failed — /Users/Work/.local/bin/claude exited with code 1:

@gbharg

gbharg commented May 23, 2026

Copy link
Copy Markdown
Owner Author

Review summary — NOT merging

Scope reviewed: the 2 fork-specific commits (3b65ca4 merge + 9ebbca1 cleanup). Did not deep-read the ~800 upstream commits as they are already reviewed in badlogic/pi-mono.

What looks good

  1. Conflict resolutions correct. .gitignore preserved both upstream (.claude/) and our local entries (.pi/hf-sessions/, collect.sh). packages/coding-agent/examples/extensions/subagent/index.ts correctly took upstream's enhanced version (truncateParallelOutput, isBunVirtualScript) and applied the namespace rename on top.
  2. Local-only files preserved. packages/exult-mcp/, .pi/services/*/build_log.md, packages/gbharg-auto-review/ were NOT touched by the merge — fork-specific work intact.
  3. gpt-5.5 / gpt-5.5-pro present in packages/ai/src/models.generated.ts (multiple providers: openai, vercel-ai-gateway, openrouter, azure, etc).
  4. : any annotations are reasonable — they target let declarations where TypeScript can't infer narrowing across try/catch boundaries. Not hiding logic bugs.
  5. as any on StringEnum is a documented workaround for the typebox TUnsafe vs TSchema mismatch after the upstream typebox bump. Acceptable as an isolated workaround.
  6. Local build passes (npm run build) for all 4 workspace packages.

BLOCKING: CI build-check-test fails

npm ci errors with:

  • Missing: @sinclair/typebox@0.34.41 from lock file
  • Invalid: lock file's @types/node@24.12.4 does not satisfy @types/node@24.3.0
  • Missing: typescript@5.7.3 from lock file
  • Invalid: lock file's undici-types@7.16.0 does not satisfy undici-types@7.10.0

The cleanup commit pinned packages/gbharg-auto-review deps (stripped ^) but did not refresh package-lock.json. Local builds pass because node_modules was already hydrated; CI's clean install fails.

Fix: Run npm install (no flags — let it update the lockfile), commit only package-lock.json, push. Then CI should be green and the PR is mergeable.

I am leaving PR #12 open. No code changes attempted by me per the review-only instruction.

- CI failed on stale lockfile post dep-pinning (npm install regenerated)
- sendblue extension imported '@sinclair/typebox' but package not in its
  deps. Switched to 'typebox' (the bundled-rebranded fork) matching the
  convention used across the rest of the monorepo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

@gautam-gemini gautam-gemini Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Gemini: Review failed — /Users/Work/.local/bin/gemini exited with code 1: Skill conflict detected: "sherpa-onnx-tts" from "/Users/Work/.gemini/skills/voice:sherpa-onnx-tts/SKILL.md" is overriding the same skill from "/Users/Work/.gemini/skills/voice:tts/SKILL.md".Skill conflict detected: "openai-whisper" from "/Users/Work/.gemini/skills/voice:openai-whisper/SKILL.md" is overriding the same skill from "/Users/Work/.gemini/skills/voice:whisper/SKILL.md".Skill conflict detected: "sag" from "/Users/Work/.gemini/skills/voice:dictation/SKILL.md" is overriding the same skill

@gautam-claude gautam-claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Claude: Review failed — /Users/Work/.local/bin/claude exited with code 1:

@gbharg gbharg merged commit d994e02 into main May 23, 2026
1 check passed
@gbharg gbharg deleted the chore/upstream-sync-2026-05-23 branch May 23, 2026 07:21
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.