Add collaborative clipboard import guard#418
Conversation
|
Hardening update pushed in 35a3039: duplicate anchor collisions now flag and regenerate every colliding block, not just the later duplicate, so no original colliding anchor can enter shared manuscript state unchanged. I added a regression that failed before the fix with only blk-second flagged and now passes. Validation refreshed locally: npm test (4 tests), npm run demo, npm run video, npm run check, ffprobe on demo.mp4, git diff --check, and sensitive-term scan returned no matches. |
|
Follow-up hardening pass for the collaborative clipboard import guard. What changed:
Validation:
|
|
Hardening update pushed in 36a3688: imported table cells are now included in the local/private path scan and redaction path. This closes a clipboard/file-import leak where notebook Verification refreshed:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in 78c3db2:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
PR state after push: open at head |
|
Hardening update pushed in What changed:
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the collaborative clipboard import guard. What changed in
Validation refreshed locally:
|
|
Hardening update pushed in Verification refreshed locally:
|
/claim #12
Summary
collab-clipboard-import-guard/, a focused issue Real-time collaborative research editor & interface #12 slice for the real-time collaborative research editor.Latest Hardening
14be418: stages malformed existing-anchor metadata before collision checks.existingAnchorsis an object instead of an array; the old path crashed withexistingAnchors.filter is not a functionbefore packet generation.MALFORMED_EXISTING_ANCHORS, keeps the import in curator review, and routes remediation torequire_curator_anchor_reviewinstead of claiming collision safety.reports/malformed-existing-anchors-packet.jsonand includes it in generated Markdown/SVG/MP4 reviewer evidence.Prior Hardening Coverage
private-labandpatient-exportare redacted even outside literal filesystem paths when the import is quarantined.sha256:prefix followed by a 64-hex digest before sanitized source metadata reportsattested: true.c:\Users\...are fully redacted from sanitized reviewer output after quarantine.C:/Users/...are fully redacted from sanitized reviewer output after quarantine.Non-overlap
This is scoped to clipboard/file-import provenance before collaborative insertion. It does not duplicate the broad editor foundation, operation replay, offline conflict, notebook/kernel lease, reference formatting/merge, authorship governance, freeze/recovery, discussion sidebar, autosave/local-cache privacy, round-trip fidelity, review decision, task dependency, equation/figure anchor, presence privacy/liveness, accessibility, evidence binding, embargo release, notification visibility, data availability, LaTeX macro safety, suggestion provenance, section-lock arbitration, journal-style conformance, undo/redo provenance, or private-comment export slices.
Validation
TypeError: existingAnchors.filter is not a function.npm testfromcollab-clipboard-import-guard/-> collaborative clipboard import guard tests passed (20).npm run demofromcollab-clipboard-import-guard/-> generated 13 JSON packets, includingmalformed-existing-anchors-packet.json, with expected statuses.npm run videofromcollab-clipboard-import-guard/-> regeneratedreports/demo.mp4.npm run checkfromcollab-clipboard-import-guard/-> JS syntax checks passed for index, sample-data, test, and demo.ffprobeverifiedcollab-clipboard-import-guard/reports/demo.mp4as H.264, 1280x720, 24 fps, 7.5s, 116,590 bytes.git diff --checkandgit diff --cached --checkpassed; only Windows line-ending normalization warnings appeared before staging.collab-clipboard-import-guard/files were staged.OPEN, merge stateCLEAN, head14be418; no checks are reported for this branch.Demo Artifacts
collab-clipboard-import-guard/reports/clean-packet.jsoncollab-clipboard-import-guard/reports/forward-slash-windows-path-packet.jsoncollab-clipboard-import-guard/reports/import-provenance-report.mdcollab-clipboard-import-guard/reports/lowercase-windows-path-packet.jsoncollab-clipboard-import-guard/reports/malformed-block-list-packet.jsoncollab-clipboard-import-guard/reports/malformed-block-entry-packet.jsoncollab-clipboard-import-guard/reports/malformed-table-row-packet.jsoncollab-clipboard-import-guard/reports/malformed-existing-anchors-packet.jsoncollab-clipboard-import-guard/reports/partner-review-packet.jsoncollab-clipboard-import-guard/reports/placeholder-attestation-packet.jsoncollab-clipboard-import-guard/reports/source-origin-packet.jsoncollab-clipboard-import-guard/reports/summary.svgcollab-clipboard-import-guard/reports/trusted-attestation-packet.jsoncollab-clipboard-import-guard/reports/unsafe-packet.jsoncollab-clipboard-import-guard/reports/unsupported-channel-packet.jsoncollab-clipboard-import-guard/reports/demo.mp4No external services, credentials, private manuscripts, live collaborator data, or payout data are used.
AI-assisted with OpenAI Codex; I reviewed and locally verified the diff before submitting.