Commit graph

93 commits

Author SHA1 Message Date
b877231d66 Record actual temporary human runtime risk disposition
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 03:01:29 +02:00
d0a19d6066 Record ungraded user runtime OS findings pending informed disposition
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 02:44:21 +02:00
b5b80aafca Version the existing risk review without replacing published history
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
2026-10-11 02:25:23 +02:00
7095f328e6 Audit blocked work and reconcile owner dependency requirements
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a1046e-3b46-7cb0-883c-bbb4739ab936
2026-10-04 11:31:48 +02:00
e1f006b067 Record Whitehat 0.2.6 observation against RISK-F-0015
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a1046e-3b46-7cb0-883c-bbb4739ab936
2026-10-04 03:05:18 +02:00
b8c5ec6563 Keep RISK-F-0015 open after the 0.2.6 full corpus.
Zones and model-switch match on the complete scenario set. T07 has not accepted the evidence.

Assistant: grok
Assistant-Session: 01a10286-9185-7bb2-b411-89cf6ab4c0c6
2026-10-04 00:41:41 +02:00
08e9eec0ed Keep RISK-F-0015 open after the role-token rerun.
The two-case routes match session-owner and zone-engine. T07 has not accepted a complete corpus.

Assistant: grok
Assistant-Session: 01a10286-9185-7bb2-b411-89cf6ab4c0c6
2026-10-03 23:14:31 +02:00
0022d10aa7 Keep RISK-F-0015 open after the 0.2.6 two-case rerun.
Zones now names zone-engine for Codex, Claude, and Grok. Model-switch names
glas-harness rather than the fixture role session-owner. The rerun is not a
full corpus, and EMERGENT-WP-0002-T07 has not accepted it.

Assistant: grok
Assistant-Session: 01a10286-9185-7bb2-b411-89cf6ab4c0c6
2026-10-03 22:48:12 +02:00
custodian-sync
f02682b3a2 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for risk-nexus

Assistant: grok
Assistant-Session: 01a10329-31ca-7182-beee-02e32fa8d091
2026-10-03 21:13:06 +02:00
30182ecf14 Review RISK-F-0015 against 0.2.4 probes and keep it open.
Claude zones now routes to zone-engine. model-switch is still delegator, not the fixture session-owner, and T07 has not accepted the evidence.

Assistant: grok
Assistant-Session: 01a10329-31ca-7182-beee-02e32fa8d091
2026-10-03 21:12:30 +02:00
custodian-sync
c4f5cbef61 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for risk-nexus

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a102b3-d324-7ee3-a57a-702b4ae6a39b
2026-10-03 19:11:11 +02:00
be450d8cff Reconcile Qonto acceptance and repair task status tracking
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a102b3-d324-7ee3-a57a-702b4ae6a39b
2026-10-03 19:10:43 +02:00
custodian-sync
d7bc943b87 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for risk-nexus

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a102b3-d324-7ee3-a57a-702b4ae6a39b
2026-10-03 19:04:06 +02:00
55af2d09d5 File and grade Emergent knowledge and Claude routing findings
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a102b3-d324-7ee3-a57a-702b4ae6a39b
2026-10-03 19:03:38 +02:00
custodian-sync
0b3cfb81c6 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-22:
  - update .custodian-brief.md for risk-nexus

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 10:26:51 +02:00
bb199ff2ac Add AGENTS.md and use Mode of Authority wording
AGENTS.md was required (C-35) and missing. Replace bare "operator" in
this session's ruling and help text per the environment orientation.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 10:26:00 +02:00
2d60312bd1 Self-documenting Makefile and read-only query CLI
`make` now lists targets grouped by use with examples. New read-only
tools/risk.py backs list/all/show/waits/escalations/policies; checked accepts
ID/OUTCOME/NOTE (ARGS still works). Adds CLI tests.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 10:19:49 +02:00
228116926b File and grade RISK-F-0012: e-invoice receipt and retention
Moves the unowned RISK-POL-0012 receiving duty onto the findings track:
medium (I2 x L3), public, no escalation. The founder assigned qonto-assistant
as fix owner; workplan requested with suggested measures, default 2026-10-06.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 10:06:58 +02:00
5a7e4ac2d4 Review the overdue regulatory records
RISK-REG-0001: eight-year voucher period (BEG IV) confirmed against
secondary sources and §147 AO. RISK-POL-0009/0002: positions unchanged; new
restore evidence noted as partial. RISK-POL-0012: receiving duty still
unowned; issuing phase-in dates added, flagged for confirmation.
RISK-POL-0011: stays dormant.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 08:26:43 +02:00
aa0a85b893 Apply due defaults: escalate RISK-F-0011 stall, settle C-31 as noise
RISK-F-0011: KG-WP-0005-T03 still waits on a deployed capture; medium grade
stands, stall recorded, escalated to the-custodian under trigger 5.
RISK-WP-0001: C-31 documented as expected noise. RISK-F-0008 acceptance
review recorded clean.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 08:13:56 +02:00
custodian-sync
e6208a6572 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-22:
  - update .custodian-brief.md for risk-nexus

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 08:02:18 +02:00
81e31b379c Close RISK-F-0010 on RPF-WP-0029 evidence (RISK-RULING-2026-09-22-A)
Source default removed, governed upload and restore have receipts, and the
predecessor share is invalidated by owner attestation (no probe, by design).
Fixed, embargo lifted, publication handover pending. Age-key taint referred
to railiance-platform as a possible separate finding.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 08:01:39 +02:00
custodian-sync
93e142f2b5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-22:
  - update .custodian-brief.md for risk-nexus

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 07:58:43 +02:00
bbbede5f47 Keep review obligations visible and reconcile owner evidence (RISK-WP-0006, RISK-WP-0007)
check_all runs every check stage even when one fails; malformed dates are
reported rather than aborting; accepted findings and closure evidence are
shown; defer requires a valid future date. Adds SCOPE.md, the scope
assessment, the open-findings source review and a unittest suite. Stops
tracking __pycache__.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 6903@bnt-lap001
Assistant-Session: 8319e8a8-ffa6-4eb3-b8bf-b29945628f89
2026-09-22 07:56:58 +02:00
29f50d5143 Intake RISK-F-0011 and climb the due checks
Gate House routed a King's Guard observation that qonto-assistant's
audit.deny stream has no completeness evidence. Filed and graded medium,
public, open. Clean-checked F-0010, F-0008, and REG-0001 after confirming
nothing moved. Raised the inbox timeout so question-zero does not false-fail
on the tunneled hub.

Assistant: grok
Assistant-Session: 01a060e9-e363-7521-bf11-df5fa31b7156
2026-09-02 10:14:43 +02:00
custodian-sync
dceb5ba008 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-01:
  - update .custodian-brief.md for risk-nexus

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 02:44:31 +02:00
7f1424dbcf Sweep risk inbox and reconcile findings
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 02:41:32 +02:00
d65aaf7484 chore(registrar): project RISK-WP-0002 closure
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 01:56:32 +02:00
custodian-sync
c5517c754b chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-09-01:
  - update .custodian-brief.md for risk-nexus

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 01:55:03 +02:00
a13d954f85 risk: complete Policy Nexus publication handover
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a058f3-8ba0-7692-a042-9a870fc3d663
2026-09-01 01:54:09 +02:00
repo-manager
96d06e320a chore(registrar): assign State Hub identifiers
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 17:48:24 +02:00
custodian-sync
49a3227cfe chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-25:
  - update .custodian-brief.md for risk-nexus

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 17:48:23 +02:00
cad7adf851 risk: report embedded backup WebDAV credential
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
2026-08-23 00:39:46 +02:00
623f7ccb2e Match the record to what the owners were told, and stop the tracker hiding ids
RISK-F-0002's fix_tracking now names ZONE-WP-0001 / WARDEN-WP-0032, with
the superseded pair kept beside it — the register had told ops-warden the
path had changed and then left the old ids in the file.

An unresolvable fix_tracking (TEN-IN-0002 is an intake, not a workplan)
printed nothing at all, which reads identically to a finding with no
tracking. It now says so by name. Both ZONE-WP-0001 and WARDEN-WP-0032
read proposed, which is the true state of the successor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 09:34:57 +02:00
78d4914808 STATE.md after the reply round
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 09:34:07 +02:00
e482423523 Five owner replies worked through: one fix closed, two grades corrected, one control retired
RISK-F-0006 fixed and public — railiance-platform's restore evidence was
read, not taken: 56s restore, all 13 coulomb_social row counts matching,
plus the BestEffort QoS this register had graded on, plus a failed first
WAL attempt recorded alongside the successful one.

RISK-F-0004 high -> medium. tenant-engine corrected in both directions:
payloads are returned (worse than graded) but there is no HTTP event-read
route, so the live network-reachable read this register wrote down does
not exist. L3 was a reachability claim inherited from a summary and never
tested.

RISK-F-0002: reading (c) confirmed — nothing blocks policy.enabled, it is
off by decision. ADR-0006 retires it in favour of zone-scoped
enforcement. Ruled: the framing is superseded, the risk is not. A control
retired before its replacement exists is still an absent control. The
successor's blocker is 26 of 27 lanes having no identifiable workload,
which is RISK-N-0004 with a number on it.

RISK-F-0009: uncovered count 8 -> 6, corrected by the reporter against
themselves; the token was never expired; and the deployed policy differs
from the file, which moves 'a file is not a safe proxy for the server'
from suspicion to evidence and amends verification.md — including the
admission that fix_tracker.py reads records, and a record can be stale.

RISK-V-0001 reconciled: ops-warden reaches the pin from the node through
a tunnel, so a podSelector ingress rule does not constrain it. The
observation was right and the inference was not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 09:32:32 +02:00
59e3e0a23a STATE.md: what the gap analysis changed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:35:13 +02:00
a05ca6822b RISK-WP-0005 finished: the seven gaps closed
T01 fix tracking now reads the owner's workplan file and found two
findings the register should have known about. T02 incident and external
report intake, the latter routed since the address is not ours to create.
T03 the production transition defined by what is held rather than what
was announced. T04 the README stops claiming a surface. T05 escalation
carries a delivery state and is raised once when unacknowledged. T06
checked_by and a heartbeat, so a 1q rung cannot silently mean nobody
looked. T07 coverage: 7 of 117 repos have ever appeared in a finding.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:34:30 +02:00
449307bea2 RISK-WP-0005 T02, T03, T04: intake, the transition, and an honest README
T02: docs/method/intake.md names all four sources INTENT claims and
builds the two that had none. An incident files first and grades within
the hour, carries first_observed because obligations run from it, sits at
instant until it is over, and escalates immediately rather than batched —
a 72-hour notification clock outranks the rule that protects the
operator's attention. External report has no address anywhere in the
estate, and where one lives is policy-nexus's and the custodian's, so it
is routed with a proposal rather than invented here.

T03: the production transition defined by what is held rather than what
was announced — the first moment any system holds real external data,
which can happen by accident and cannot be reversed. Declared by the
custodian; noticed and asked about by this register. Lists what fires:
five re-scores, two acceptances ending, six policies activating.

T04: the README no longer claims a surface this repo does not have.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:31:44 +02:00
ba3b3f686d RISK-WP-0005-T01: read the fix records, and two findings moved
fix_tracker.py resolves fix_tracking against the owning repo's workplan
file — the ADR-001 source of truth — and uses the file's last commit date
as the honest answer to 'has this moved', independent of whether the
register looked. Archived workplans are searched too, so a finished fix
that was filed away does not read as missing.

First run, three findings it should have known about:

RISK-F-0005 — AUDIT-WP-0008-T04 has read done since 2026-08-18. The fix
this finding asked for has landed and the register spent three days not
knowing. Now mitigated, embargo lifted, disclosure public. Not fixed:
that needs a probe, and T05's adversarial evidence artifact still reads
wait.

RISK-F-0002 — both tracked records were closed before the finding was
filed: WARDEN-WP-0007 archived 2026-07-08, FLEX-WP-0007 finished
2026-06-29, against a finding of 2026-08-18 that names FLEX-WP-0007 as
the blocker. Routed as a question, not a conclusion.

Four findings carry no fix tracking at all, which the report now says out
loud rather than leaving as an empty field.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:29:38 +02:00
0ff87c22d8 Persist the gap analysis to history/, open RISK-WP-0005
history/2026-08-21-intent-gap-analysis.md follows the estate's history
convention. RISK-WP-0005 carries the seven gaps, ordered so the one place
the register misreports goes first: fix_tracking is a string nobody
reads, so a stalled fix and a silent owner are currently the same thing.

The two INTENT claims with no implementation at all — incident intake and
external report — are T02. STATE.md now says both of those out loud
rather than leaving them to the assessment.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:19:57 +02:00
ace941ef05 Assess STATE against INTENT: seven gaps, one sharp failure
The 'a regulation that applies was found before it was needed' test is
not met and cannot be retro-fitted: the policy set found two obligations
already live, the e-invoicing one by about nineteen months. The catalogue
makes the test passable going forward; it does not make that instance a
pass.

Also: remediation tracking does not track — fix_tracking is a string
nobody reads, so an owner who goes quiet and a fix that goes quiet look
identical; there is no intake path for incidents or external reports, so
the register is a self-assessment aggregator rather than what INTENT
claims; and no coverage model, so a system with zero findings is
indistinguishable from one nobody assessed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:16:43 +02:00
9a24b0bb71 STATE.md — where the register actually is
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 08:15:30 +02:00
46d0a62dab RISK-F-0009: live verification, and a correction to my own count
ops-warden filed this static, saying its OpenBao token was expired. It was not --
bao policy read succeeded, so the deployed policy has now been compared directly.

Coverage confirmed at 6 of 17. But the uncovered count was wrong: eight included
a path pattern and a broker grant, neither of which a policy can deny, and the
finding's own prose already said so about the first. Six stand.

New: the deployed policy differs from the file in railiance-platform -- the file
denies core-hub/runtime, the server does not. No ops-warden lane maps there, so
the numbers are unchanged. It matters because this finding named "the deployed
policy may differ from the file" as unconfirmed, and it does.

Severity, disclosure and embargo left untouched -- risk-nexus's to set. The
embargo condition is a coverage report from railiance-platform, which this does
not satisfy.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 00:50:25 +02:00
02a17e601d Record all three rulings; RISK-WP-0003 finished
Escalation rule adopted as written. RISK-F-0008 accepted with the legal
policy set as the compensating control. Canon kinds packet sent to
the-custodian, with note offered lifecycle-free and verifications
deliberately withheld as an unsettled species.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:37:45 +02:00
674bd41635 RISK-F-0008 accepted: no external determination, policy set instead
The triggers survive as what ends the acceptance rather than as what
starts a purchase. Accepted is not closed — it keeps its cadence, and
audit-core's two questions stay open under it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:36:44 +02:00
7f135f9e0f Legal policy set: written before needed, dormant until a context activates
Operator ruling: no external determination in build mode, but keep the
set of legal policies for reuse when a work context needs one in place.

docs/regulatory/policies/ catalogues thirteen, keyed by activation
condition rather than by regime, with a retrieval table so a context
pulls a slice: first real user account pulls six of them; a
consumer-facing product in Germany pulls those plus accessibility. Two
are already active and nobody had noticed — commercial and tax retention,
and the e-invoicing receiving obligation that has been live since 2025
with no named owner in the estate. Four written in full; the rest carry
their trigger now and get their text when a context approaches, which is
the point.

RISK-POL-0011 is the argument for the whole catalogue: accessibility
cannot be retrofitted cheaply, so a policy retrieved at launch is a
rebuild while one read at design time is just a constraint.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:36:22 +02:00
3a0ba5d427 Waits attach to any record, not just findings
Adopting a rule is nobody's finding; neither is registering a canon kind
or publishing a document. Each obligation that lived outside the
mechanism was invisible to it. RISK-WP-0001 now carries both of its
custodian waits, and the escalation-rule one has the register's most
uncomfortable default pointed inward: unadopted by 2026-09-17 means
recorded as de facto in force but unratified, said on the face of every
escalation sent under it. A draft that quietly governs is exactly what
this register exists to notice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:18:52 +02:00
9a22a2adc5 RISK-WP-0003: three of four tasks done, T01 waiting on the trigger-list ruling
Workplan status blocked rather than active: the only remaining task is a
custodian decision, and calling that 'active' would be the register
claiming progress it is not making.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:17:31 +02:00
aeb56e3711 RISK-WP-0003 T02/T03: state the retention periods, and write the intake route
T02 applies the dependency rule to this repo's own work: rather than wait
on audit-core's co-residency horizon, RISK-REG-0001 now states target
periods per category with the reasoning — 12 months for operator and
agent security records, 3 years to year-end for counterparty transaction
evidence, 8 years for accounting vouchers (shortened by BEG IV, flagged
as worth confirming), 10 years for books, 6 for commercial letters,
delete for anything with no ground. Targets, not achievements: the estate
cannot demonstrate any of them while the real horizon is the maximum
across every co-resident on platform-pg, and that gap is stated so the
table cannot be read as a compliance claim.

T03 writes the intake route from what audit-core did correctly without
one: the question as a question, what already depends on it, what becomes
expensive if the answer is no, and what you are not asking for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 23:16:51 +02:00