mirror of
https://github.com/ruvnet/RuView.git
synced 2026-08-26 10:05:54 +00:00
ADR-292 (sensing-server): SourceState enum + pure transition (provenance.rs); auth-error/unknown can never resolve to LiveVerified; synthetic exports watermarked. Pose-fusion simulator starts SYNTHETIC and only shows LIVE on a real decoded frame (#1557); sensing client no longer labels an unauthorized status endpoint as live (#1526). ADR-294 (sensing-server): NodeInference distinct from RoomInference (inference.rs); deterministic freshness-weighted fuse_room; RateLimiter re-keyed to (NodeId,EntityKind) so nodes do not starve each other (#1541); stale nodes go unavailable not frozen-online (#1555). ADR-293 (sensing-server): --udp-bind (default 127.0.0.1) + --udp-allow allowlist + fail-closed refusal of routable bind without allowlist unless --udp-insecure-lan (udp_bind.rs); crate SECURITY.md documents the threat model and the deferred per-device-auth step two. ADR-295 (train): model_gates.rs — constant-output, unreachable-boundary (the issue-1521 degenerate presence head), class-balance, baseline, and metric-name-provenance gates. ADR-296 (ci): scripts/csi-data-policy-check.sh (+ allowlist) and a workflow that fails on tracked CSI-format/oversized-JSONL files; 6/6 self-tests pass. Per-crate suites reported green by the swarm; CSI policy self-test 6/6 and JS syntax verified here. Full workspace re-verification deferred until the concurrent phase-1 spine build frees the target dir (disk pressure). Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_015TcKegTS7QqhWPC2L2SzaS
54 lines
1.8 KiB
YAML
54 lines
1.8 KiB
YAML
name: CSI data policy (ADR-296)
|
|
|
|
# ADR-296 repository CSI data-incident guard. Fails when CSI-format files
|
|
# (*.csi.jsonl / *.csi.meta.json) or oversized JSONL captures are tracked in
|
|
# git. Raw CSI is person data and must never be committed (CLAUDE.md, ADR-296).
|
|
#
|
|
# NOTE: the tree currently still contains the pre-existing incident recordings
|
|
# under data/recordings/ and v2/data/recordings/, whose removal is gated on
|
|
# data-owner sign-off (ADR-296). Until they are removed this job is EXPECTED to
|
|
# fail, and that failure documents the incident. To make it green in a
|
|
# follow-up without weakening the guard for NEW files, set CSI_POLICY_BASELINE
|
|
# to a file listing the acknowledged paths (see the script header).
|
|
#
|
|
# Checker: scripts/csi-data-policy-check.sh Run locally: bash the same script.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- master
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
csi-data-policy:
|
|
name: CSI data policy check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Self-test the policy checker (deterministic, offline)
|
|
run: bash scripts/csi-data-policy-check.sh --self-test
|
|
|
|
- name: Enforce CSI data policy on tracked files
|
|
# CSI_POLICY_BASELINE can point at an acknowledged-paths file once the
|
|
# owner remediates the tree; unset here so a regression fails loudly.
|
|
run: bash scripts/csi-data-policy-check.sh --tracked
|
|
|
|
- name: Summarize result
|
|
if: always()
|
|
run: |
|
|
{
|
|
echo '### CSI data policy (ADR-296)'
|
|
echo ''
|
|
echo '```'
|
|
bash scripts/csi-data-policy-check.sh --tracked 2>&1 || true
|
|
echo '```'
|
|
} >> "$GITHUB_STEP_SUMMARY"
|