Commit Graph
373 Commits
Author SHA1 Message Date
can1357 904caec79e chore: bump version to 14.6.6 2026-05-04 02:31:12 +02:00
can1357 fdac4829e8 chore: bump version to 14.6.5 2026-05-04 00:21:13 +02:00
can1357 d93b0b2121 chore: bump version to 14.6.4 2026-05-03 20:02:52 +02:00
can1357 7efbb6255e chore: bump version to 14.6.3 2026-05-03 09:08:15 +02:00
can1357 641dad3f9f fix(utils): adjusted compact number formatting to trim redundant decimals
- Updated `formatNumber` to use a helper that removes trailing `.0` for compact K/M/B values.
- Adjusted small-value branches so exact thousands and millions now format as whole units while keeping one decimal for fractional values.
- Revised the function comment examples to match the new `1K` and `1M` outputs.
2026-05-03 07:39:52 +02:00
can1357 242b121085 chore: bump version to 14.6.2 2026-05-03 05:00:22 +02:00
can1357 5f728ba735 chore: bump version to 14.6.1 2026-05-02 08:11:46 +02:00
can1357 ca70328a9b chore: bump version to 14.6.0 2026-05-02 07:02:16 +02:00
can1357 3293231a9f feat(coding-agent): implemented sqlite-backed storage for autoresearch
- Replaced file-backed autoresearch contracts with sqlite-backed session/run storage in `~/.omp/autoresearch`.
- Added `AutoresearchStorage` and rewired `init_experiment`, `run_experiment`, and `log_experiment` to persist sessions and runs.
- Added `update_notes` tool with `body`/`append_idea` inputs and updated prompts to use active-session context.
- Removed `autoresearch.md` contract parsing and checks flow, including `runChecks`, `force`, and timeout schema options.
- Updated autoresearch state/types to persist `goal`, `notes`, `branch`, and `baselineCommit` plus run justification/flag metadata.
2026-05-02 01:10:00 +02:00
can1357 34bcd29d63 chore: bump version to 14.5.14 2026-05-01 19:21:12 +02:00
can1357 bf3954b9e1 chore: bump version to 14.5.13 2026-05-01 16:11:15 +02:00
can1357 c7aa2387b7 perf(coding-agent): improved startup and model loading performance
- Tracked `models.json` modification time in the registry to skip redundant static model reloads when unchanged.
- Reworked model overlay merges and package-runner detection to use indexed lookups plus parallel file/JSON scans instead of sequential searches.
- Cached compiled prompt templates and reduced startup work by bypassing up-to-date changelog parsing and deferring background model refresh.
2026-05-01 16:09:42 +02:00
can1357 83b4c0cdb5 perf(coding-agent): implemented canonical model-index rebuild during resume
- Updated AGENTS.md discovery to use glob search honoring .gitignore, depth limits, and deduped results.
- Updated eval tool flow so Python preflight runs only when needed and exec now maps to eval when available.
- Deferred canonical model-index rebuilds during refresh/rebuildProvider and replayed pending rebuilds after resume.
- Added memoized model-equivalence resolution with trailing-marker and canonical reference caches.
- Optimized frontmatter key normalization to keep unchanged keys/arrays/objects without extra cloning.
- Updated JS executor tests to use base-path concatenation for nested fixture filesystem calls.
2026-05-01 15:41:16 +02:00
can1357 3a46b748a3 perf(ai): dynamic oauth imports per provider
- Documented and removed `utils/oauth` from the `ai` package entrypoint, noting it as a breaking change.
- Refactored `cli`, `auth-storage`, and `utils/oauth` to load provider modules via scoped dynamic `import()` calls.
- Removed top-level provider imports and barrel exports from `utils/oauth/index.ts`, streamlining oauth module loading.
- Consolidated OAuth symbol, type, and provider imports in coding-agent and tests to `@oh-my-pi/pi-ai/utils/oauth` modules.
- Defined `DEFAULT_LOCAL_TOKEN` locally in model-registry and removed its cross-package OAuth import usage.
2026-04-30 15:14:07 +02:00
can1357 c7008cc416 perf: optimized startup by parallelizing plugin preload and AGENTS scan
- Parallelized startup by deferring plugin preload and running AGENTS.md scan plus context/template/command discovery in parallel.
- Added AgentsMdSearch exports and options so prebuilt search results were passed into system-prompt construction.
- Reworked logger timing to use AsyncLocalStorage-backed nested spans, initialize a root span, and emit hierarchical summaries.
- Added PI_TIMING-gated TS/TSX module-load timing via side-effect module-timer registration and wrapped key init/request paths with logger.time.
2026-04-30 14:53:38 +02:00
can1357 83abb9e3fb chore: bump version to 14.5.12 2026-04-30 13:06:18 +02:00
can1357 baa6e7b86d feat: added process wait APIs with timeoutMs and abort signal support
- Added ProcessWaitOptions-based wait APIs with timeoutMs and abort signal support.
- Changed terminate options to accept optional signal for cancellation-aware process shutdown.
- Hardened process identity handling to avoid PID-reuse errors on Linux, macOS, and Windows.
- Updated termination flow to use live descendants and escalate from graceful to hard-kill signals.
- Wrapped awaited Process.fromPid(...).waitForExit() with parentheses before ?? true fallback.
2026-04-30 13:04:52 +02:00
can1357 7604d71417 feat(ps): replaced kill-tree functions with stable Process class API
- Added `Process` class with pidfd (Linux), libproc (macOS), and handle (Windows) ownership for race-free signaling.
- Replaced `killTree`/`listDescendants` free functions with `Process.fromPid`, `fromPath`, `terminate`, and `waitForExit`.
- Added `TerminationTargets` for batching pgid+pid sets across pty and shell job teardown.
- Migrated `procmgr` and `ptree` to use the new native API, removing the `setNativeKillTree` injection pattern.
2026-04-30 13:04:52 +02:00
can1357 74dabef041 chore: bump version to 14.5.11 2026-04-30 07:01:25 +02:00
can1357 0e377c4914 chore: bump version to 14.5.10 2026-04-30 06:11:29 +02:00
can1357 90fabf6d4f feat(coding-agent): added batch PR handling to pr_view and pr_diff
- Added support for batch PR operations by accepting `pr` as string or array and dropping `worktree` input.
- Updated `pr_view` and `pr_diff` to normalize PR IDs, process multiple PRs in parallel, and emit combined summaries.
- Refactored checkout into `checkoutPullRequest`, added repo-locking, fixed worktree paths, and summary metadata outputs.
- Updated `remote.add` handling with URL-aware idempotency and per-repo queueing for serialized git mutations.
- Added temp-home test scaffolding and expanded tests for batched PR flows and remote add conflict/no-op cases.
2026-04-30 03:48:25 +02:00
can1357 49e62f117f chore: bump version to 14.5.9 2026-04-30 02:50:53 +02:00
can1357 e019c6aa93 chore: bump version to 14.5.8 2026-04-29 19:42:54 +02:00
can1357 6f9079e354 chore: bump version to 14.5.7 2026-04-29 18:07:23 +02:00
can1357 d459b667cc chore: bump version to 14.5.6 2026-04-29 16:29:53 +02:00
can1357 e217788208 chore: bump version to 14.5.5 2026-04-29 05:39:05 +02:00
can1357 bcecd23eda chore: bump version to 14.5.4 2026-04-29 01:31:51 +02:00
can1357 9e353d3363 chore: bump version to 14.5.3 2026-04-27 02:55:26 +02:00
can1357 60dcfd37bb chore: bump version to 14.5.2 2026-04-26 15:12:49 +02:00
can1357 f829375809 chore: bump version to 14.5.1 2026-04-26 13:06:42 +02:00
can1357 9c8e55189f chore: bump version to 14.5.0 2026-04-26 12:28:16 +02:00
can1357 c99bdf6729 chore: bump version to 14.4.4 2026-04-26 12:14:22 +02:00
can1357 9bb40deb3c chore: bump version to 14.4.3 2026-04-26 11:17:28 +02:00
can1357 1d18640159 chore: bump version to 14.4.2 2026-04-26 09:14:20 +02:00
can1357 dc02697097 chore: bump version to 14.4.1 2026-04-26 07:24:08 +02:00
can1357 3a20aca826 chore: bump version to 14.4.0 2026-04-26 05:34:02 +02:00
can1357 5c1b8eaaaa feat(coding-agent): compressed examples in prompts
- Prevented template compile failures from `}}}` sequences by normalizing closing braces before `handlebars.compile`.
- Updated Unreleased `CHANGELOG.md` to describe current hashline/edit/path behavior changes.
- Standardized tool prompt example formatting by replacing `<example>` blocks with unified `<examples>` sections.
2026-04-26 00:29:17 +02:00
can1357 d1da849b71 chore: bump version to 14.3.0 2026-04-25 19:12:49 +02:00
can1357 1fb22e1e9a chore: bump version to 14.2.1 2026-04-24 05:55:59 +02:00
can1357 06697b3f28 chore: bump version to 14.2.0 2026-04-24 01:05:06 +02:00
Miroslav Drbalandcan1357 3408b954bf Preserve legacy SECTION_SEPERATOR helper alias
Codex code review flagged that external templates copied from pre-rename
versions of the repo still reference the misspelled SECTION_SEPERATOR
helper. Despite pi-utils compiling with `strict: false`, Handlebars
still throws "Missing helper" on unknown helpers in that mode
(verified: `strict: false` only silences missing context variables,
not missing helpers), so renaming alone would break live user configs
at render time.

Registers the legacy `SECTION_SEPERATOR` name as a second alias to the
same implementation so both spellings render identically. The canonical
spelling `SECTION_SEPARATOR` is used in all in-tree templates; the
alias exists purely for backward compatibility with external templates.
2026-04-23 22:59:38 +02:00
Miroslav Drbalandcan1357 e04d2620df Compress and tighten system prompt; relocate SECTION_SEPARATOR helper
Further compresses packages/coding-agent/src/prompts/system/system-prompt.md
from 21,530 B to 16,545 B (−23% on top of the prior compression;
−9,060 B / ~−2,265 tok per turn vs origin/main) while restoring
RFC 2119 weight on every inviolable rule and reorganizing the
pre-yield discipline.

system-prompt.md

RFC 2119 keyword restoration

All rules under `# Contract`, Procedure §§2/6, and the tail `<critical>`
block use `**MUST**` / `**MUST NOT**` keywords that the file's preamble
pins to RFC 2119. The previous draft had downgraded 29 of these to
`Do **NOT**`, which reads as below-MUST-NOT against the same preamble.
Restored sites:
- `# Contract` — all 7 inviolable bullets
- `<critical>` tail block — all 4 safety rules
- `## 6. Verification` — mock ban and no-proof yield rule
- Procedure §2 — "search for existing examples" rule regains the
  PROHIBITED parallel-convention clause it lost
- `<dir-context>` — AGENTS.md read requirement regains MUST

Structural dedup

- `<source-of-truth>` and `<instruction-priority>` were two priority
  lists with overlapping scope. Merged into a single
  `<instruction-priority>` covering all 5 conflict-resolution levels.
- `<self-check>` and `<scope-check>` were two pre-yield checklists;
  `## 6. Verification` also had a third numbered "Before yielding,
  verify..." list with overlapping checks. Collapsed all three into
  one `<pre-yield-check>` section (incl. "output format matches the
  ask" from the old verification list). `## 6. Verification` now
  focuses on verification discipline (test rigor, mocks, run-scope).

Signal restoration

Added four anchors to `<design-checklist>` that were dropped from the
earlier `<code-integrity>` block and had no home in the new structure:
- Adversarial-caller / tired-maintainer self-questioning
- Cost-of-easy-path framing
- Inhabit-the-call-site self-review
- Persistence on hard problems (do not punt half-solved work)

Handlebars fix

The `### Tool priority` header was emitted unconditionally but its
body was wrapped in `{{#ifAny python|bash}}`, producing a bare heading
with no content when neither tool was available. Header now sits
inside the conditional.

SECTION_SEPARATOR helper relocation

The `SECTION_SEPARATOR` Handlebars helper is a generic section-header
formatter that was registered in coding-agent's
`config/prompt-templates.ts`. This coupled every template consumer to
a side-effect import of that module; a prior fix added
`import "./config/prompt-templates"` to `system-prompt.ts` so the
`/system-prompt` sub-path export would register the helper, but
sibling consumers (`task/executor.ts`, `task/template.ts`) worked only
by accident because the parent agent happened to load
`system-prompt.ts` first.

- Moved `sectionSeparator` function and helper registration to
  `packages/utils/src/prompt.ts` next to the other generic helpers
  (`xml`, `codeblock`, `ifAny`, `includes`, `not`, `jsonStringify`).
- `packages/coding-agent/src/config/prompt-templates.ts` now
  re-exports `sectionSeparator` from `@oh-my-pi/pi-utils/prompt` for
  the test that imports it via the coding-agent path.
- Removed the side-effect import from
  `packages/coding-agent/src/system-prompt.ts`.

Template typo fix

Also fixes a latent `SECTION_SEPERATOR` spelling (→ `SECTION_SEPARATOR`)
in the two subagent templates (`subagent-system-prompt.md`,
`subagent-user-prompt.md`). Before the move the typo was masked
because every call site and the helper shared the wrong spelling.
Post-move, the helper is canonical `SECTION_SEPARATOR` in pi-utils
and all templates match.

Verification

- `bun check` clean (TS + Rust, all 9 packages)
- `bun test packages/coding-agent/test/system-prompt-templates.test.ts`
  6/6 pass (was 4/6 failing pre-existing before the infrastructure fix)
- `bun test packages/coding-agent/test/tools/task-template.test.ts`
  4/4 pass (exercises the `sectionSeparator` re-export)
- `bun run format-prompts` clean
2026-04-23 22:59:37 +02:00
can1357 e952773e24 chore: bump version to 14.1.4 2026-04-17 18:50:13 +02:00
can1357 397617e1c3 chore: bump version to 14.1.3 2026-04-17 18:07:35 +02:00
can1357 028f8c5436 chore: bump version to 14.1.2 2026-04-14 19:29:04 +02:00
can1357 bae191227d chore: bump version to 14.1.1 2026-04-14 10:53:45 +02:00
can1357 5caddcebd6 feat(cross-cutting): added fd crate export and moved fuzzy-find bindings
- Removed `SearchDb` APIs and `searchDb` fields, dropping db-backed state from native and agent sessions.
- Replaced crate export `fff` with `fd`, moving fuzzy-find bindings into `fd.rs`.
- Removed `SearchDb`/picker fast-path logic from `glob` and `grep`, simplifying scan flow and dropping db args.
- Removed `SearchDb`/`getSearchDb` wiring from extension, tool, and task context constructors across coding-agent.
- Added over-indentation validation warnings in chunk-edit normalization for suspicious `~` body line formatting.
- Removed `bytes`, `fff-grep`, `fff-search`, and `blake3` deps, adding `grep-searcher = "0.1"`.
2026-04-13 21:25:50 +02:00
can1357 debb76723d chore: catalog imports 2026-04-13 01:06:01 +02:00
can1357 f96422d911 chore: bump version to 14.1.0 2026-04-11 13:22:08 +02:00
can1357 1bb5234477 chore: bump version to 14.0.5 2026-04-11 06:39:46 +02:00