Skip to content

test(robosoft): the same Core signal blocks, or does not, by tenant configuration - #131

Merged
beyondnetPeru merged 1 commit into
developfrom
feat/cp-10-parity-robot
Aug 3, 2026
Merged

test(robosoft): the same Core signal blocks, or does not, by tenant configuration#131
beyondnetPeru merged 1 commit into
developfrom
feat/cp-10-parity-robot

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Advances CP-10: criteria 3 and 4 closed; 1 partial and 2 unstarted, both with the reason on the card.

The assertion that carries the robot

The same attached deposit:

Tenant matrix unmet
none configured ["approval:unresolved"]
architecture → blocking ["approval:unresolved", "core-signal:architecture"]
architecture → advisory ["approval:unresolved"]

Between the three evaluations nothing about the deposit changed — only the configuration. It proves end to end what four cards built: CP-05 preserves the canonical result, CP-06 lets the tenant decide what blocks, CP-07 hangs the deposit off the phase, CP-02 supplies the catalogue.

Verified for real, not in CI

The full local stack was brought up (local-test.sh up: kind + build + Helm) and the robot ran against it: 27 checks, 0 failures. The nine robots on the CI list ran against that same deployment: 211 checks, 0 failures.

I had earlier written this row off as unverifiable. That was not a measurement — docker, kind, kubectl and helm were all installed and a cluster already existed.

Why it is not on the CI list

It needs a CoreMachine key bound to the tenant the robot reads as, and deploy-check.yml configures none — the same reason core-evidence-ingest, core-integration and runtime-approvals are excluded from ROBOSOFT_ONLY.

Without the key it soft-skips visibly: the summary reports 0 ok, not a silent PASS. A robot claiming PASS having exercised nothing is the vacuous green this repository keeps finding. Verified both paths.

One tenant, two configurations — stated rather than implied

The criterion says "a tenant … and another". This runs it as one tenant reconfigured between evaluations, because a deposit is scoped by the machine key's tenant. The code path is identical (CoreSignalRule is stored per tenant and phase), but what it does not prove is isolation between two tenants' matrices — tenant-isolation covers that class.

A defect in the robot itself, corrected

Its first version asserted "the gate is NOT blocked by the deposit" by checking the state was not RETURNED. The gate was RETURNED over an unresolved approval unrelated to the deposit, so the assertion measured something else. It now compares the unmet reasons with and without the matrix: with the signal advisory, the gate is exactly as it was with no matrix.

🤖 Generated with Claude Code

…onfiguration

Advances CP-10: criteria 3 and 4 closed; 1 partial and 2 unstarted, both said why.

`core-sdlc-parity` asserts the property no other robot covers and that four
cards were built for: the SAME attached deposit contributes nothing to the
verdict with no matrix, contributes `core-signal:architecture` when the tenant
marks it blocking, and contributes nothing again when marked advisory. Between
the three evaluations nothing about the deposit changed -- only the configuration.

VERIFIED FOR REAL, NOT IN CI. The full local stack was brought up
(`local-test.sh up`: kind + build + Helm) and the robot ran against it: 27
checks, 0 failures. The nine robots on the CI list ran against that same
deployment: 211 checks, 0 failures.

I had earlier written this row off as unverifiable. That was not a measurement --
docker, kind, kubectl and helm were all installed and a cluster already existed.
The user asked whether I had tried; I had not.

ONE TENANT, TWO CONFIGURATIONS -- stated rather than implied. The criterion says
"a tenant ... and another"; this runs it as ONE tenant reconfigured between
evaluations, because a deposit is scoped by the machine key's tenant and a second
one would need another key plus its own seeded initiative. The code path is
identical -- `CoreSignalRule` is stored per tenant AND phase -- but what it does
NOT prove is isolation between two tenants' matrices, which `tenant-isolation`
covers.

WHY IT IS NOT ON THE CI LIST: it needs a CoreMachine key bound to the tenant the
robot reads as, and `deploy-check.yml` configures none -- the same reason
`core-evidence-ingest`, `core-integration` and `runtime-approvals` are excluded.
Without the key it SOFT-SKIPS VISIBLY: the summary reports `0 ok`, not a silent
PASS. A robot claiming PASS having exercised nothing is the vacuous green this
repository keeps finding.

A defect in the robot itself, corrected: its first version asserted "the gate is
NOT blocked by the deposit" by checking the state was not RETURNED. The gate was
RETURNED over an unresolved approval unrelated to the deposit, so the assertion
measured something else. It now compares the unmet reasons with and without the
matrix: with the signal advisory the gate is EXACTLY as it was with no matrix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru merged commit 05664b5 into develop Aug 3, 2026
6 checks passed
@beyondnetPeru
beyondnetPeru deleted the feat/cp-10-parity-robot branch August 3, 2026 20:18
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