Hermes Agent
dc5abb8524
fix( #812 follow-up): normalize detect-platform.sh host-match port comparison by scheme
...
ci/woodpecker/pr/ci Pipeline was canceled
gitea_url_matches_host compared every remote authority's port directly
against the configured HTTP(S) API URL's port, which conflated two
unrelated things and normalized default web ports asymmetrically:
- An SSH remote's transport port (e.g. ssh://git@host:2222/...) was
compared against the configured HTTP(S) port, even though the SSH
daemon port has nothing to do with the Gitea HTTP(S) API port.
- An explicit default port on the remote (https://host:443/ ...) failed
to match an implicit (portless) configured URL, while the inverse
(implicit remote vs. explicit configured) already matched -- the
default-port equivalence was only applied on one side.
Fix get_remote_host() to strip an SSH transport port before it ever
reaches host-match, and make gitea_url_matches_host's default-port
normalization symmetric (":443" https / ":80" http is equivalent to
the implicit form on BOTH sides).
Adds red-first regressions for both repros to
test-pr-review-gitea-comment.sh (extending the #812 harness) and wires
that harness into packages/mosaic's test:framework-shell chain so it
runs under `pnpm test`.
Closes #850
2026-07-20 04:42:51 -05:00
3b70c66c07
fix(framework): drop unsupported --comment from tea pr approve/reject; route review body via durable comment ( #835 ) ( #857 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-20 09:19:48 +00:00
aa999daf1b
fix(framework): durable Gitea comment posting in pr-review.sh via REST + read-back verify ( #812 ) ( #852 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-20 06:45:48 +00:00
b580d37d51
Fixes #703 ( #705 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline failed
2026-07-12 20:49:43 +00:00
a99aded26d
fix(tools/git): -h/--help now exits 0 across 7 wrappers ( #702 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-11 09:23:46 +00:00
4df38f7e81
fix(tools/_lib): /etc/mosaic host-level fallback for credential resolution ( #700 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-10 01:57:12 +00:00
e6b53ea103
fix(tools): default AGENT_WORK_ROOT to $HOME/mosaic/agent-work ( #641 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was canceled
2026-06-23 13:40:13 +00:00
bf24066a49
feat(framework): P1+P2 — public sanitization + blocking CI gate ( #572 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-06-21 02:40:11 +00:00
92316ab41e
feat(framework): P0 — MIT license + executable-leak sanitization ( #570 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com >
Co-committed-by: Jason Woltje <jason@diversecanvas.com >
2026-06-21 01:43:49 +00:00
57919c38d8
fix(framework/tools): wrapper hardening — TLS validation, cred-path fallback, no-CI fast-exit ( #551 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-20 10:16:38 +00:00
ab4e138003
feat(framework/tools): orchestration helpers — lane-brief.sh + ci-wait.sh ( #547 )
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/publish Pipeline was canceled
2026-06-18 22:08:40 +00:00
719c6ac3db
fix(framework/tools): eval injection, broken JSON, tmpfile leak ( #549 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-06-18 21:35:32 +00:00
98a771c8f8
Fix Gitea wrapper login resolution ( #538 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-12 02:34:18 +00:00
dde95a59b3
fix(pi): reduce startup skill-token overhead ( #527 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-05 18:36:42 +00:00
821e19dcbb
fix(mosaic-tools): roll up Gitea and Woodpecker wrapper fixes ( #524 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-05-26 20:56:09 +00:00
2e31626f87
fix: simplify updater to @mosaic/mosaic only, add explicit tea repo/login flags ( #388 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-04-05 02:09:23 +00:00
Jason Woltje
b38cfac760
feat: integrate framework files into monorepo under packages/mosaic/framework/
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Moves all Mosaic framework runtime files from the separate bootstrap repo
into the monorepo as canonical source. The @mosaic/mosaic npm package now
ships the complete framework — bin scripts, runtime configs, tools, and
templates — enabling standalone installation via npm install.
Structure:
packages/mosaic/framework/
├── bin/ 28 CLI scripts (mosaic, mosaic-doctor, mosaic-sync-skills, etc.)
├── runtime/ Runtime adapters (claude, codex, opencode, pi, mcp)
├── tools/ Shell tooling (git, prdy, orchestrator, quality, etc.)
├── templates/ Agent and repo templates
├── defaults/ Default identity files (AGENTS.md, STANDARDS.md, SOUL.md, etc.)
├── install.sh Legacy bash installer
└── remote-install.sh One-liner remote installer
Key files with Pi support and recent fixes:
- bin/mosaic: launch_pi() with skills-local loop
- bin/mosaic-doctor: --fix auto-wiring for all 4 harnesses
- bin/mosaic-sync-skills: Pi as 4th link target, symlink-aware find
- bin/mosaic-link-runtime-assets: Pi settings.json patching
- bin/mosaic-migrate-local-skills: Pi skill roots, symlink find
- runtime/pi/RUNTIME.md + mosaic-extension.ts
Package ships 251 framework files in the npm tarball (278KB compressed).
2026-04-01 21:19:21 -05:00