Skip to content

Admin: guardrail-flag log + announcement send history - #92

Merged
Ravikxx merged 1 commit into
feat/remote-pairingfrom
admin/guardrail-and-announcement-log-v2
Aug 24, 2026
Merged

Admin: guardrail-flag log + announcement send history#92
Ravikxx merged 1 commit into
feat/remote-pairingfrom
admin/guardrail-and-announcement-log-v2

Conversation

@Ravikxx

@Ravikxx Ravikxx commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • New guardrail_flags table + GET /admin/guardrail-flags: logs every Fresco 1.3 output-guardrail verdict (SAFE and FLAG), giving admin visibility into fire rate and false positives (previously logged nowhere).
  • New recipient_count/send_status/send_error columns on announcements + GET /admin/announcement-history: records whether an announcement email actually sent and to how many recipients, closing the blind spot behind a recent incident where a GitHub Actions run reported success but the email silently never queued.
  • Also includes this session's already-verified Fresco 1.3 admin controls: usage boost / bulk usage reset, model health / kill switch endpoints, and the fresco13-upstream.js routing module.

Base branch note: targets feat/remote-pairing (#90), not master — this code was built on top of that branch's fresco/glyph file rename (lumen-upstream.jsfresco-upstream.js etc.), which hasn't landed on master yet. A first attempt based on master failed CI with ERR_MODULE_NOT_FOUND for exactly that reason.

Test plan

  • node --check on all changed files
  • npm test (only the 3 pre-existing unrelated desktop-auth.test.mjs failures, confirmed unrelated to this change)
  • Inline node:sqlite smoke tests for all 4 new/changed migrations

🤖 Generated with Claude Code

… admin

Fresco 1.3's real-time output guardrail (judgeFlagged) fired with zero
visibility into how often or why — this logs every verdict (SAFE and FLAG
alike) to a new guardrail_flags table and exposes it at
GET /admin/guardrail-flags, so false positives are spottable.

Also records recipient_count/send_status/send_error on the announcements
table from the /webhook/announce send, and exposes it via
GET /admin/announcement-history — closes the exact blind spot that let a
GitHub Actions run report "success" while the announcement email silently
never queued.

Also includes the already-verified Fresco 1.3 admin controls from earlier
this session: usage boost / bulk usage reset, and model health / kill
switch endpoints.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 07caa644-c882-448f-b392-87a603b94615

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Ravikxx
Ravikxx merged commit ff6962e into feat/remote-pairing Aug 24, 2026
3 of 4 checks passed
@Ravikxx
Ravikxx deleted the admin/guardrail-and-announcement-log-v2 branch August 24, 2026 00:26
Ravikxx added a commit that referenced this pull request Aug 24, 2026
* feat: Remote phone-control pairing (RemoteRelay) + account/sandbox restructure

* feat: publish remote-pairing (RemoteRelay) + account/sandbox restructure and worker renames (Lumen->Fresco, Veil->Glyph)

* fix: close remote-relay sockets when the pairing TTL expires

/remote/ws checked expires_at only at connection admission — once a
socket was let through, RemoteRelay held it open and kept forwarding
indefinitely, so a paired phone kept live remote-control access past
the pairing's expiry.

Threads expires_at through to the DO and uses a storage alarm (not
setTimeout, which wouldn't survive DO eviction) to close both sockets
at the deadline.

Flagged by CodeRabbit on PR #90.

* Add guardrail-flag observability log and announcement send-history to admin (#92)

Fresco 1.3's real-time output guardrail (judgeFlagged) fired with zero
visibility into how often or why — this logs every verdict (SAFE and FLAG
alike) to a new guardrail_flags table and exposes it at
GET /admin/guardrail-flags, so false positives are spottable.

Also records recipient_count/send_status/send_error on the announcements
table from the /webhook/announce send, and exposes it via
GET /admin/announcement-history — closes the exact blind spot that let a
GitHub Actions run report "success" while the announcement email silently
never queued.

Also includes the already-verified Fresco 1.3 admin controls from earlier
this session: usage boost / bulk usage reset, and model health / kill
switch endpoints.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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.

1 participant