Merge v6.5.x into main #27

Merged
ric merged 11 commits from v6.5.x into main 2026-07-24 16:01:54 +00:00
Owner

Release v6.5.x into main. Clean auto-merge (no conflicts).

Highlights

6.5.0 — RSS feeds influence compiled skills

  • Feeds can be tied to one or more skill domains with an influence score (1–10), set in the web UI feed editor or via a skills: mapping in feeds.yml. Recompiling such a skill pulls the latest articles from its influencing feeds into a new Feed watch section — no per-article blessing needed. Whole section capped by SKILL_FEED_MAX_ARTICLES (default 25, 0 disables). The write gate is untouched: feed items only land through a proposed-and-accepted compile, labelled as unvetted current signal, and classified low-risk so article churn never drowns real rule edits.
  • Skill export bundles now carry the feeds that influence their domain as a checksummed feeds.json — export format v2, with v1 bundles still importable. Import stays strictly additive.

6.5.1 — Responsive web UI fixes

  • Feeds table rebalanced for six columns (the new Skills column) so it fits on tablet width again.
  • Headless audit of all 21 web UI pages at 390/768/1024/1400px fixed horizontal overflow on ten of them across four distinct causes.

Docs / housekeeping

  • Feed-influence coverage in docs, instructions, CLAUDE.md.
  • Full test coverage for feed influence, transfer v2, web routes, worker sync.
  • codeberg.org/ric_harvey links migrated to code.squarecows.com/ric; Forgejo MCP host notes corrected.

🤖 Generated with Claude Code

Release v6.5.x into main. Clean auto-merge (no conflicts). ## Highlights ### 6.5.0 — RSS feeds influence compiled skills - Feeds can be tied to one or more skill domains with an influence score (1–10), set in the web UI feed editor or via a `skills:` mapping in feeds.yml. Recompiling such a skill pulls the latest articles from its influencing feeds into a new **Feed watch** section — no per-article blessing needed. Whole section capped by `SKILL_FEED_MAX_ARTICLES` (default 25, 0 disables). The write gate is untouched: feed items only land through a proposed-and-accepted compile, labelled as unvetted current signal, and classified low-risk so article churn never drowns real rule edits. - Skill export bundles now carry the feeds that influence their domain as a checksummed `feeds.json` — export format v2, with v1 bundles still importable. Import stays strictly additive. ### 6.5.1 — Responsive web UI fixes - Feeds table rebalanced for six columns (the new Skills column) so it fits on tablet width again. - Headless audit of all 21 web UI pages at 390/768/1024/1400px fixed horizontal overflow on ten of them across four distinct causes. ### Docs / housekeeping - Feed-influence coverage in docs, instructions, CLAUDE.md. - Full test coverage for feed influence, transfer v2, web routes, worker sync. - codeberg.org/ric_harvey links migrated to code.squarecows.com/ric; Forgejo MCP host notes corrected. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ric added 11 commits 2026-07-24 16:01:46 +00:00
A feed can declare skills: {domain: score} (1-10) in feeds.yml or the web
UI feed editor. Skill recompiles pull the feed's latest articles into a new
Feed watch section — score sets how many articles the feed contributes —
without per-article blessing. Unassociated feeds keep the promote-only
path. Config mirrors into meta:feed:influence (web UI on save, worker each
ingest cycle); skill bundles now carry influencing feeds (format v2, v1
still importable) and import additively merges them into the reading list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
136 new tests: the meta:feed:influence mirror (validation, sync, lenient
load), gather/build/render of feed rules, compile-flow integration (no
bootstrap, determinism, low-risk churn), bundle feeds.json validation and
additive merge, feeds editor skill rows, import feed plan and confirm, and
the worker-side sync. Every application module back at 100% line coverage.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The skills column made the feeds table six columns wide but the fixed
column widths still summed to 100% across five, so the actions column
had no room and the table overflowed horizontally on iPad-width
screens. Rebalanced the widths, moved the nowrap to the mode column
where it belongs, and let long skill mappings wrap.

Also stopped setting display:flex on .actions-cell — flex on a td
detaches it from table-cell layout so the column width never applied;
children now flow inline and wrap naturally on narrow screens.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Audited all 21 pages headless at 390/768/1024/1400px and fixed every
horizontal overflow:

- Dropped the mobile table-layout:auto overrides (memories, projects,
  skills, graveyard tables) — auto layout lets nowrap cells push the
  table past the viewport, which is exactly what the fixed percentage
  layouts prevent. Tighter cell padding on small screens instead.
- .content gets min-width:0 — as a flex item it refused to shrink
  below a long URL's min-content width, widening every page.
- .page-header wraps, so action buttons drop below the title on
  narrow screens instead of forcing the width (telemetry,
  token-overhead, skill detail).
- The effortful, backups, and skill rules tables get fixed layouts;
  they were the remaining auto-layout tables with unbounded widths.
- Small-screen safety nets: td text breaks anywhere, th ellipsizes,
  badges and dates wrap in narrow columns, table buttons slim down.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Move badges, actions, install, clone and contribution links from
codeberg.org/ric_harvey/omnimem to code.squarecows.com/ric/omnimem
(host migration + username ric_harvey -> ric), and relabel the
"Development happens on Codeberg" prose to Squarecows to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Functional refs (installer fetch base, in-app version check API, web UI
footer) plus the docs sweep (quick-start, all setup guides, docker-hub)
now point at the squarecows Forgejo instance. Rename version_check's
CODEBERG_API_URL -> RELEASES_API_URL and neutralise "Codeberg" wording
in prose/labels/comments. CHANGELOG history left as-is (those issues
lived on Codeberg).

Verified: the new releases API returns v6.4.2, so the update indicator
resolves against squarecows.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Repo now lives on the self-hosted Forgejo at code.squarecows.com (owner
ric), pushed over git; the connected Forgejo MCP points at Codeberg, a
different instance, so its repo/action tools do not operate on this
repo. Drop the stale "Codeberg" wording from the branch policy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs: Forgejo MCP now points at code.squarecows.com
Some checks failed
Security Scans / Dependency Audit (mcp_server) (pull_request) Failing after 5s
Security Scans / Dependency Audit (rss_worker) (pull_request) Failing after 0s
Security Scans / Bandit SAST (pull_request) Successful in 7s
Security Scans / Test Coverage (pull_request) Failing after 0s
Security Scans / Secret Scan (pull_request) Failing after 0s
Security Scans / Dependency Audit (web_ui) (pull_request) Successful in 28s
e9f743343b
The MCP was repointed from Codeberg to the squarecows instance, so its
repo/action tools do operate on this repo — correct the caveat added in
1d42e58 which said the opposite.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ric merged commit 2fb1fa7a1c into main 2026-07-24 16:01:54 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ric/omnimem!27
No description provided.