Commit Graph
697 Commits
Author SHA1 Message Date
Michael Sitarzewski 630ec99ae9 Merge #1042: Make UX Architect theme toggles work when clicking nested labels 2026-10-06 11:28:32 -05:00
Michael Sitarzewski a4ac61c605 Merge #1041: Fix Voice AI SRT millisecond rounding and timestamp validation 2026-10-06 11:28:31 -05:00
Michael Sitarzewski 60a4758717 Merge #1040: Stop provider routing after budget overruns and bound run retries 2026-10-06 11:28:30 -05:00
Michael Sitarzewski 31e1a4227e Merge #1039: Normalize functionality scores over the feature categories actually evaluated 2026-10-06 11:28:29 -05:00
Michael Sitarzewski ac5863804d Merge #1038: Reject misaligned observations in Model QA discrimination reports 2026-10-06 11:28:27 -05:00
Michael Sitarzewski 737ef0367c Merge #1037: Fix Finance Tracker aggregate variance and cash-flow scenario ranges 2026-10-06 11:28:27 -05:00
Michael Sitarzewski 6cca0f9d88 Merge #1036: Avoid repeated A/B assignment events from inline variant arrays 2026-10-06 11:28:25 -05:00
Michael Sitarzewski 9f222afe66 Merge #1035: Reject undefined workflow durations before calculating throughput 2026-10-06 11:28:24 -05:00
Michael Sitarzewski e51a8053e9 Merge #1034: Handle queue and task allocation failures before starting sensor work 2026-10-06 11:28:24 -05:00
Michael Sitarzewski c3d15684c2 Merge #1033: Preserve ICU arguments and selectors during pseudo-localization 2026-10-06 11:28:23 -05:00
ordinary being 58a6884db7 fix(hermes): match config items with inline comments (#1030)
* fix(hermes): match config items with inline comments

The plugins.enabled / plugins.disabled item scan compared raw line text, so
a YAML inline comment became part of the value it matched against. Three
concrete failures followed on configs users can edit by hand:

- an existing enabled entry carrying a comment ("agency-agents-router # x")
  was not recognized, so the plugin was appended a second time;
- a stale disabled entry carrying a comment was not removed, so the
  installer reported "enabled plugin ... in config.yaml" while the plugin
  stayed disabled;
- the corrupted-glue repair counted "- " in the whole line, so a comment
  containing " - " was split into fake list entries: the installer silently
  rewrote a comment such as "# keep - rotate this one first" into two
  enabled entries.

Strip a trailing YAML comment ("#" only starts one after whitespace) before
matching, counting, and splitting, and use the same value helper in the
post-repair re-check so a quoted entry is recognized too. No config format
or install behavior change beyond those shapes.

check-hermes-config-rewrite.py gains four cases for them plus two general
invariants: the plugin appears exactly once, and the writer may not gain or
lose unrelated enabled entries outside the documented glue repair. The
suite fails on the previous code with exactly those four cases and passes
with this patch.

* test(hermes): pin a quoted entry that also carries a comment

Independent verification on the PR (phant0um) covered an existing quoted
entry with an inline comment (`- "agency-agents-router"  # quoted`). The fix
recognizes it through the comment-stripped item value; pin that shape so it
cannot regress. On the previous code the extended suite fails with this case
plus the original four; with the fix all 21 cases pass.
2026-10-06 07:47:43 -05:00
Rudy Celekli c74ab1db07 Make UX Architect theme toggles work when clicking nested labels
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:21:00 -04:00
Rudy Celekli 2292ca76f9 Fix Voice AI SRT millisecond rounding and timestamp validation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:21:00 -04:00
Rudy Celekli 6227c4b9b6 Stop provider routing after budget overruns and bound run retries
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:19:01 -04:00
Rudy Celekli b1ba19a467 Normalize functionality scores over the feature categories actually evaluated
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:19:01 -04:00
Rudy Celekli c00c3709bc Reject misaligned observations in Model QA discrimination reports
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:12:35 -04:00
Rudy Celekli fe06bedf9c Fix Finance Tracker aggregate variance and cash-flow scenario ranges
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:12:35 -04:00
Rudy Celekli dd7ec04c1a Avoid repeated A/B assignment events from inline variant arrays
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:07:37 -04:00
Rudy Celekli 70b07c7442 Reject undefined workflow durations before calculating throughput
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 12:07:37 -04:00
Rudy Celekli fa9fb98548 Preserve ICU arguments and selectors during pseudo-localization
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 11:59:07 -04:00
Rudy Celekli 2d1fa1c896 Handle queue and task allocation failures before starting sensor work
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
2026-10-05 11:59:06 -04:00
Michael Sitarzewski 83294689da Merge @rudycelekli's content fixes, batch 2 (49 PRs, #968–#1026) (#1029)
Merge @rudycelekli's content fixes, batch 2 (49 PRs, #968–#1026)
2026-10-04 16:12:14 -05:00
Michael Sitarzewski a71ed85054 Merge remote-tracking branch 'origin/main' into integ/content-batch2 2026-10-04 14:51:50 -05:00
ordinary being 59635e0008 fix(lib): an indented closing fence closes the block (CommonMark/GitHub parity) (#1028)
fence_closes_p() required a closing fence's indent to be <= the opener's.
That is not a CommonMark rule and not how GitHub renders: a closing fence
may be indented up to three spaces regardless of the opener. A GitHub-valid
document was therefore read as still open, so lint reported a false
"does not nest" (and a false "never closed") and the OpenClaw split kept the
next "##" heading inside the previous section, leaving AGENTS.md empty.

The closing rule is now exactly the four conditions already enforced: same
character, run at least as long as the opener, indent 0-3, and nothing but
whitespace after the run. Callers still pass the opener's indent as the
optional fourth argument; it is documented as deliberately not consulted.

Regression fixtures in test-lint-fences.sh pin the helper boundaries (2- and
3-space closers close; a shorter or 4-space-indented run does not; tilde
closers follow the same rule), a lint run on the GitHub-valid document, and
the OpenClaw split. They fail on the previous code at the first new
assertion: "fence_closes_p rejected a bare closer indented 2 spaces under
an unindented opener".
2026-10-04 14:32:42 -05:00
Michael SitarzewskiandClaude Opus 5.5 7d9ad2cf7a chore(eval): regenerate the convert-outputs manifest for content batch 2
Exactly the 43 agents the 49 merged fixes touch; no other agent or tool line moves.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 14:23:23 -05:00
Michael Sitarzewski 634d9b97c5 Merge #1001: Preserve automatic theme selection across page reloads 2026-10-04 11:46:46 -05:00
Michael Sitarzewski 053f874d94 Merge #1026: fix(testing): validate TCO adoption inputs before division 2026-10-04 11:46:37 -05:00
Michael Sitarzewski 0dea7ccdd2 Merge #1022: Fix hybrid search bindings, result limit and SQLAlchemy row mappings 2026-10-04 11:46:36 -05:00
Michael Sitarzewski 717098c144 Merge #1021: Preserve speaker labels when assembling transcription chunks 2026-10-04 11:46:34 -05:00
Michael Sitarzewski cc98f6ccce Merge #1020: Honor reduced-motion preferences in Whimsy CSS examples 2026-10-04 11:46:33 -05:00
Michael Sitarzewski e9ab9b908e Merge #1019: Suppress sprint nudges when no tasks are pending 2026-10-04 11:46:31 -05:00
Michael Sitarzewski a906535416 Merge #1018: Keep tied top tool scores from crashing comparison reports 2026-10-04 11:46:30 -05:00
Michael Sitarzewski 4d93350a2d Merge #1017: Redact nested credentials in structured log examples 2026-10-04 11:46:28 -05:00
Michael Sitarzewski 3e409563f3 Merge #1016: Conserve revenue per conversion in attribution examples 2026-10-04 11:46:27 -05:00
Michael Sitarzewski cfca6d8421 Merge #1015: Expire realtime presence independently for each peer 2026-10-04 11:46:26 -05:00
Michael Sitarzewski 0350159521 Merge #1014: Reject unconverged IRR estimates instead of reporting returns 2026-10-04 11:46:24 -05:00
Michael Sitarzewski 6f7f3e240d Merge #1013: Change pooler URL ports without rewriting credentials 2026-10-04 11:46:23 -05:00
Michael Sitarzewski 232685e368 Merge #1012: Start both oscillator sources in the Focus Music audio recipe 2026-10-04 11:46:21 -05:00
Michael Sitarzewski 4679bf2250 Merge #1011: Keep discrete inventory order quantities positive for low demand 2026-10-04 11:46:20 -05:00
Michael Sitarzewski e2afdb7e16 Merge #1010: Count distinct responding users in acquisition conversion metrics 2026-10-04 11:46:19 -05:00
Michael Sitarzewski 48fa630f72 Merge #1009: Require expiration and audit subject in Security Architect JWT verification 2026-10-04 11:46:17 -05:00
Michael Sitarzewski 4bb732162d Merge #1006: Make the Backend Architect OpenAPI contract validate 2026-10-04 11:46:16 -05:00
Michael Sitarzewski fab1474735 Merge #1005: Commit graph entities and their source relationships atomically 2026-10-04 11:46:15 -05:00
Michael Sitarzewski d81b071c31 Merge #1004: Strip event handlers on the snapshot root as well as descendants 2026-10-04 11:46:14 -05:00
Michael Sitarzewski 560333e2d3 Merge #1003: Read the WeChat login payload at the request helper boundary 2026-10-04 11:46:13 -05:00
Michael Sitarzewski 1147244bd8 Merge #1002: Build inclusive video prompts from the supplied scene 2026-10-04 11:46:12 -05:00
Michael Sitarzewski b7ed1be56a Merge #1000: Use the same wasm-bindgen batch contract from Rust and JavaScript 2026-10-04 11:44:36 -05:00
Michael Sitarzewski 54046d25d4 Merge #999: Reject unknown and non-finite audio durations before processing 2026-10-04 11:44:35 -05:00
Michael Sitarzewski 33794f7af1 Merge #998: Require and consume Feishu callback state before token exchange 2026-10-04 11:44:33 -05:00
Michael Sitarzewski a7b8680811 Merge #997: Surface failed or missing IMAP message fetches before parsing 2026-10-04 11:44:32 -05:00