Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
963cfad
test(integration): define operator request authority
seonghobae Aug 11, 2026
a8e3df0
feat(integration): verify plugin operator request authority
seonghobae Aug 11, 2026
21d57fd
test(integration): define authenticated plugin operator composition
seonghobae Aug 11, 2026
b76c661
test(integration): make operator red contract type-safe
seonghobae Aug 11, 2026
4b8c3bb
feat(integration): compose authenticated plugin operator authority
seonghobae Aug 11, 2026
d4ae0a0
test(integration): prove exact operator path rejection
seonghobae Aug 11, 2026
df54d95
fix(integration): bind operator signatures to exact route
seonghobae Aug 11, 2026
2e01b85
test(integration): preserve missing credential dependency
seonghobae Aug 11, 2026
b50dba1
test(integration): reject operator evidence replay
seonghobae Aug 11, 2026
c4c7aa3
feat(integration): persist operator replay evidence
seonghobae Aug 11, 2026
4125df2
fix(integration): key replay evidence by signed id
seonghobae Aug 11, 2026
663cd86
feat(integration): add durable operator replay guard
seonghobae Aug 11, 2026
d06c5a7
feat(integration): sign one-time operator evidence ids
seonghobae Aug 11, 2026
ece8a2b
fix(integration): atomically consume operator evidence
seonghobae Aug 11, 2026
c90f869
test(integration): bind operator signatures to evidence ids
seonghobae Aug 11, 2026
c1b3f76
test(integration): prove distributed replay authority
seonghobae Aug 11, 2026
b8453bc
test(integration): prove replay store atomicity
seonghobae Aug 11, 2026
32a0c6b
test(integration): verify replay evidence migration
seonghobae Aug 11, 2026
34a6c6f
test(integration): construct missing replay dependency explicitly
seonghobae Aug 11, 2026
544bfa9
test(integration): bind replay expiry cleanup to database clock
seonghobae Aug 11, 2026
39b7910
fix(integration): prune replay evidence by database clock
seonghobae Aug 11, 2026
0811f10
docs(integration): document replay evidence migration
seonghobae Aug 11, 2026
915e913
test(integration): lock replay migration boundary
seonghobae Aug 11, 2026
277c509
test(integration): cover replay guard edge evidence
seonghobae Aug 11, 2026
b4e7c5f
test(integration): prove replay expiry provenance
seonghobae Aug 11, 2026
9924778
test(integration): scope replay schema secret check to columns
seonghobae Aug 11, 2026
2f19ca0
test(integration): enforce replay schema allowlist
seonghobae Aug 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
CREATE TABLE plugin_integration.plugin_operator_context_replay_record (
evidence_id uuid PRIMARY KEY,
consumed_at timestamptz NOT NULL,
expires_at timestamptz NOT NULL,
CONSTRAINT plugin_operator_context_replay_lifetime_check
CHECK (expires_at >= consumed_at)
);

CREATE INDEX plugin_operator_context_replay_expiry_index
ON plugin_integration.plugin_operator_context_replay_record (expires_at);

COMMENT ON TABLE plugin_integration.plugin_operator_context_replay_record IS
'Durable one-time plugin operator evidence consumed by the Integration service to prevent replay across service instances.';
COMMENT ON COLUMN plugin_integration.plugin_operator_context_replay_record.evidence_id IS
'Signed UUIDv4 evidence identity; primary-key uniqueness permits exactly one durable consumption.';
COMMENT ON COLUMN plugin_integration.plugin_operator_context_replay_record.consumed_at IS
'Instant when the winning Integration service instance consumed the signed evidence.';
COMMENT ON COLUMN plugin_integration.plugin_operator_context_replay_record.expires_at IS
'Retention deadline after which the evidence record is eligible for cleanup because its signature lifetime has closed.';
Loading
Loading