Add unit tests for Router configuration and transport layers
- Implemented tests for RouterConfig, RoutingOptions, StaticInstanceConfig, and RouterConfigOptions to ensure default values are set correctly. - Added tests for RouterConfigProvider to validate configurations and ensure defaults are returned when no file is specified. - Created tests for ConfigValidationResult to check success and error scenarios. - Developed tests for ServiceCollectionExtensions to verify service registration for RouterConfig. - Introduced UdpTransportTests to validate serialization, connection, request-response, and error handling in UDP transport. - Added scripts for signing authority gaps and hashing DevPortal SDK snippets.
This commit is contained in:
@@ -6,6 +6,10 @@
|
||||
| AUTHORITY-ENG-0001 | DONE (2025-11-27) | Module Team | Readiness tracker in implementation_plan mapped to epics/sprints. |
|
||||
| AUTHORITY-OPS-0001 | DONE (2025-11-30) | Ops Guild | TASKS board created; monitoring/grafana references aligned; offline-friendly. |
|
||||
| AUTH-GAPS-314-004 | DONE (2025-12-04) | Product Mgmt · Authority Guild | Gap remediation doc `gaps/2025-12-04-auth-gaps-au1-au10.md` + evidence map/paths; awaiting artefact signing. |
|
||||
| REKOR-RECEIPT-GAPS-314-005 | DONE (2025-12-04) | Authority Guild · Attestor Guild · Sbomer Guild | Gap remediation doc `gaps/2025-12-04-rekor-receipt-gaps-rr1-rr10.md`; policy/schema/bundle layout fixed, signing to follow artefact generation. |
|
||||
| REKOR-RECEIPT-GAPS-314-005 | DONE (2025-12-04) | Authority Guild · Attestor Guild · Sbomer Guild | Gap remediation doc `gaps/2025-12-04-rekor-receipt-gaps-rr1-rr10.md`; policy/schema/bundle layout fixed; artefacts drafted and hashed, signing pending. |
|
||||
| AUTH-GAPS-ARTEFACTS | DOING (2025-12-04) | Docs Guild | Drafted AU1–AU10 artefacts + hashes in `gaps/artifacts/` and `gaps/SHA256SUMS`; awaiting signing. |
|
||||
| REKOR-RECEIPT-ARTEFACTS | DOING (2025-12-04) | Docs Guild | Drafted RR1–RR10 artefacts + hashes in `gaps/artifacts/` and `gaps/SHA256SUMS`; awaiting signing. |
|
||||
| AUTH-GAPS-SIGNING-SCRIPT | DONE (2025-12-05) | Docs Guild | Added `tools/cosign/sign-authority-gaps.sh` to sign AU/RR artefacts; defaults to `docs/modules/authority/gaps/dsse/2025-12-04`, supports dev key only with `COSIGN_ALLOW_DEV_KEY=1`. |
|
||||
| AUTH-GAPS-SMOKE-SIGNED | DONE (2025-12-05) | Docs Guild | Dev-key smoke DSSE bundles generated at `docs/modules/authority/gaps/dev-smoke/2025-12-05/`; production signing still pending real Authority key. |
|
||||
|
||||
> Keep this table in lockstep with `docs/implplan/SPRINT_0314_0001_0001_docs_modules_authority.md` (TODO/DOING/DONE/BLOCKED updates go to both files).
|
||||
|
||||
@@ -1,2 +1,18 @@
|
||||
# Hash index for authority gap artefacts (AU1–AU10, RR1–RR10)
|
||||
# Append lines: "<sha256> <relative-path>"
|
||||
2e07c639a8fa60105e42965c5a92657e66f6255c9aa375bfacc413083e1f36a3 docs/modules/authority/gaps/artifacts/authority-abac.schema.json
|
||||
d0721d49b74f648ad07fe7f77fabc126fe292db515700df5036f1e1324a00025 docs/modules/authority/gaps/artifacts/authority-jwks-metadata.schema.json
|
||||
858c3ac57dcfc1555576c3a36fee62b33cf0c107f4eec8482b588b6038065e93 docs/modules/authority/gaps/artifacts/authority-offline-verifier-bundle.v1.json
|
||||
8d98b603247b5a3b41651e66fef18c6df54d80fa719f2221143f4aa9463b12f3 docs/modules/authority/gaps/artifacts/authority-scope-role-catalog.v1.json
|
||||
257930376d2fadfbba3ed6ba624448174e3926ba6b234c698c47d28c87054d7e docs/modules/authority/gaps/artifacts/crypto-profile-registry.v1.json
|
||||
2789516440d5dc6d00afb711a7f192a652f21e90cea6cd0da9511a5cd58639e3 docs/modules/authority/gaps/artifacts/rekor-receipt-bundle.v1.json
|
||||
080c92618b9b6738320034e8699ca4bb2beb4358939b32e13f7a3064c54bf621 docs/modules/authority/gaps/artifacts/rekor-receipt-policy.v1.json
|
||||
8d0448081f83a4fc6e299d32e80310ae0d77cde9431e82111aa975683234e699 docs/modules/authority/gaps/artifacts/rekor-receipt.schema.json
|
||||
664cbc680506b02025b9406c392b2b61f769a2d2ecd5c4b3f794d18481b21e42 docs/modules/authority/gaps/2025-12-04-auth-gaps-au1-au10.md
|
||||
4c84c8d7bf69ccea1ecb2a0337612dd1ce08bbfb0cfc4f707383520cbb2f5437 docs/modules/authority/gaps/2025-12-04-rekor-receipt-gaps-rr1-rr10.md
|
||||
3f5b9c977ebfbb1675edfb91cb37cd2f4dd6d917ea02b6037116095797d6894e docs/modules/authority/gaps/authority-binding-matrix.md
|
||||
39494b4452095b0229399ca2e03865ece2782318555b32616f8d758396cf55ab docs/modules/authority/gaps/authority-conformance-tests.md
|
||||
285f9b117254242c8eb32014597e2d7be7106c332d97561c6b3c3f6ec7c6eee7 docs/modules/authority/gaps/authority-delegation-quotas.md
|
||||
1a77f02f28fafb5ddb5c8bf514001bc3426d532ee7c3a2ffd4ecfa3d84e6036e docs/modules/authority/gaps/rekor-receipt-error-taxonomy.md
|
||||
c1908189a1143d4314bbaa57f57139704edd73e807e025cdd0feae715b37ed72 docs/console/observability.md
|
||||
fb969b8e8edd2968910a754d06385863130a4cd5c25b483064cab60d5d305f2b docs/console/forensics.md
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://stellaops.example/authority-abac.schema.json",
|
||||
"title": "Authority ABAC Rule",
|
||||
"type": "object",
|
||||
"required": ["rule_id", "tenant", "environment", "effect", "conditions", "precedence"],
|
||||
"properties": {
|
||||
"rule_id": {"type": "string"},
|
||||
"tenant": {"type": "string"},
|
||||
"environment": {"type": "string"},
|
||||
"effect": {"type": "string", "enum": ["allow", "deny"]},
|
||||
"precedence": {"type": "integer", "minimum": 0},
|
||||
"conditions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["attribute", "op", "value"],
|
||||
"properties": {
|
||||
"attribute": {"type": "string"},
|
||||
"op": {"type": "string", "enum": ["eq", "neq", "in", "not_in", "contains"]},
|
||||
"value": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"obligations": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://stellaops.example/authority-jwks-metadata.schema.json",
|
||||
"title": "Authority JWKS Metadata",
|
||||
"type": "object",
|
||||
"required": ["kid", "alg", "tenant", "environment", "rotated_at", "freshness_seconds"],
|
||||
"properties": {
|
||||
"kid": {"type": "string"},
|
||||
"alg": {"type": "string", "enum": ["ES256", "EdDSA"]},
|
||||
"tenant": {"type": "string"},
|
||||
"environment": {"type": "string"},
|
||||
"rotated_at": {"type": "string", "format": "date-time"},
|
||||
"expires_at": {"type": "string", "format": "date-time"},
|
||||
"freshness_seconds": {"type": "integer", "minimum": 0},
|
||||
"jwks_uri": {"type": "string", "format": "uri"},
|
||||
"status": {"type": "string", "enum": ["active", "retiring", "retired"]}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"bundle_id": "authority-offline-verifier-bundle.v1",
|
||||
"schema_version": "1.0.0",
|
||||
"issued_at": "2025-12-04T00:00:00Z",
|
||||
"tenant": "*",
|
||||
"environment": "*",
|
||||
"contents": {
|
||||
"jwks_snapshot": "jwks/authority-jwks.json",
|
||||
"scope_role_catalog": "authority-scope-role-catalog.v1.json",
|
||||
"crypto_profile_registry": "crypto-profile-registry.v1.json",
|
||||
"abac_schema": "authority-abac.schema.json",
|
||||
"verifier_binary": "bin/authority-verifier",
|
||||
"policies": ["policies/tenant-policy.json"]
|
||||
},
|
||||
"hashes": {
|
||||
"algorithm": "sha256",
|
||||
"files": {}
|
||||
},
|
||||
"signature": {
|
||||
"status": "unsigned",
|
||||
"expected_dsse": "authority-offline-verifier-bundle.v1.sigstore.json"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"schema_version": "1.0.0",
|
||||
"issued_at": "2025-12-04T00:00:00Z",
|
||||
"tenant": "*",
|
||||
"environment": "*",
|
||||
"roles": [
|
||||
{
|
||||
"role": "service.reader",
|
||||
"version": "1.0.0",
|
||||
"audience": ["stellaops://services/*"],
|
||||
"scopes": ["service.read"],
|
||||
"precedence": 100,
|
||||
"bindings": {
|
||||
"binding": "dpop",
|
||||
"nonce_ttl_seconds": 120
|
||||
}
|
||||
},
|
||||
{
|
||||
"role": "service.writer",
|
||||
"version": "1.0.0",
|
||||
"audience": ["stellaops://services/*"],
|
||||
"scopes": ["service.write", "service.read"],
|
||||
"precedence": 90,
|
||||
"bindings": {
|
||||
"binding": "mtls",
|
||||
"nonce_ttl_seconds": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"catalog_id": "authority-scope-role-catalog",
|
||||
"signature": {
|
||||
"status": "unsigned",
|
||||
"expected_dsse": "authority-scope-role-catalog.v1.sigstore.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"registry_version": "1.0.0",
|
||||
"issued_at": "2025-12-04T00:00:00Z",
|
||||
"profiles": [
|
||||
{
|
||||
"id": "dpop-es256",
|
||||
"type": "dpop",
|
||||
"algorithms": ["ES256"],
|
||||
"status": "active",
|
||||
"min_version": "1.0.0",
|
||||
"pq_dual_sign": false
|
||||
},
|
||||
{
|
||||
"id": "mtls-ed25519",
|
||||
"type": "mtls",
|
||||
"algorithms": ["Ed25519"],
|
||||
"status": "active",
|
||||
"min_version": "1.0.0",
|
||||
"pq_dual_sign": false
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"signature": {
|
||||
"status": "unsigned",
|
||||
"expected_dsse": "crypto-profile-registry.v1.sigstore.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"bundle_id": "rekor-receipt-bundle.v1",
|
||||
"schema_version": "1.0.0",
|
||||
"policy": "rekor-receipt-policy.v1.json",
|
||||
"schema": "rekor-receipt.schema.json",
|
||||
"transport_plan": "rekor-receipt-transport-plan.json",
|
||||
"samples": [
|
||||
"samples/receipt-example-01.json"
|
||||
],
|
||||
"hashes": {
|
||||
"algorithm": "sha256",
|
||||
"files": {}
|
||||
},
|
||||
"signature": {
|
||||
"status": "unsigned",
|
||||
"expected_dsse": "rekor-receipt-bundle.v1.sigstore.json"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"policy_version": "1.0.0",
|
||||
"rk1_enforceDsse": true,
|
||||
"rk2_payloadMaxBytes": 1048576,
|
||||
"rk3_routing": {
|
||||
"public": "hashedrekord",
|
||||
"private": "hashedrekord"
|
||||
},
|
||||
"rk4_shardCheckpoint": "per-tenant-per-day",
|
||||
"rk5_idempotentKeys": true,
|
||||
"rk6_sigstoreBundleIncluded": true,
|
||||
"rk7_checkpointFreshnessSeconds": 900,
|
||||
"rk8_pqDualSign": false,
|
||||
"rk9_errorTaxonomy": "see rekor-receipt-error-taxonomy.md",
|
||||
"rk10_annotations": ["policy_hash", "graph_context"],
|
||||
"transport_plan": "rekor-receipt-transport-plan.json",
|
||||
"signature": {
|
||||
"status": "unsigned",
|
||||
"expected_dsse": "rekor-receipt-policy.v1.sigstore.json"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://stellaops.example/rekor-receipt.schema.json",
|
||||
"title": "Rekor Receipt",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"tlog_url",
|
||||
"tlog_key",
|
||||
"checkpoint",
|
||||
"inclusion_proof",
|
||||
"bundle_hash",
|
||||
"policy_hash",
|
||||
"client_version",
|
||||
"client_flags",
|
||||
"tsa_chain",
|
||||
"fulcio_chain",
|
||||
"mirror_metadata",
|
||||
"repro_inputs_hash"
|
||||
],
|
||||
"properties": {
|
||||
"tlog_url": {"type": "string", "format": "uri"},
|
||||
"tlog_key": {"type": "string"},
|
||||
"checkpoint": {"type": "string"},
|
||||
"inclusion_proof": {"type": "string"},
|
||||
"bundle_hash": {"type": "string"},
|
||||
"policy_hash": {"type": "string"},
|
||||
"client_version": {"type": "string"},
|
||||
"client_flags": {"type": "array", "items": {"type": "string"}},
|
||||
"tsa_chain": {"type": "array", "items": {"type": "string"}},
|
||||
"fulcio_chain": {"type": "array", "items": {"type": "string"}},
|
||||
"mirror_metadata": {"type": "object"},
|
||||
"repro_inputs_hash": {"type": "string"},
|
||||
"annotations": {"type": "object"}
|
||||
}
|
||||
}
|
||||
26
docs/modules/authority/gaps/authority-binding-matrix.md
Normal file
26
docs/modules/authority/gaps/authority-binding-matrix.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Authority Binding Matrix (DPoP / mTLS) — AU2/AU3
|
||||
|
||||
All values deterministic and sorted by flow, tenant, environment.
|
||||
|
||||
## Enforcement Matrix
|
||||
| Flow | Tenant scope required | Binding | Nonce policy | Audience rules | Notes |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| device_code | tenant required; env optional | DPoP (ECDSA P-256) | nonce TTL 120s; single-use; clock skew ±30s | `aud` must match service; reject wildcard | Offline: tokens minted against cached JWKS; nonce list capped 1024 entries |
|
||||
| auth_code | tenant required; env required | mTLS (SPIFFE) | n/a (channel bound) | `aud` == service; `azp` == client; enforce PKCE | Supports delegated authz; cert SAN must match client_id |
|
||||
| client_credentials | tenant required; env optional | DPoP (Ed25519) or mTLS | nonce TTL 300s; rotate per token | `aud` == service; forbid multi-audience | Use mTLS when hardware root is available; else DPoP fallback |
|
||||
|
||||
## DPoP Requirements
|
||||
- Proof `htu`/`htm` must match request; reject if clock skew >30s.
|
||||
- JTI single-use; store for nonce TTL window; evict oldest on cap.
|
||||
- Accept curves: P-256, Ed25519; forbid P-384/521 until crypto profile registry marks active.
|
||||
|
||||
## mTLS Requirements
|
||||
- Client cert must chain to approved trust roots per tenant.
|
||||
- SAN must include `urn:stellaops:client:{client_id}`.
|
||||
- Require OCSP/CRL freshness ≤10m (offline mode: last good CRL/OCSP cached and timestamped).
|
||||
|
||||
## Negative-path examples
|
||||
- Reject DPoP without nonce; reject reuse within TTL.
|
||||
- Reject auth_code where `aud` contains wildcard or mismatched service.
|
||||
- Reject client_credentials with missing tenant claim or multi-audience list.
|
||||
|
||||
17
docs/modules/authority/gaps/authority-conformance-tests.md
Normal file
17
docs/modules/authority/gaps/authority-conformance-tests.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Authority Conformance Tests — AU10
|
||||
|
||||
## Test matrix (sample)
|
||||
| ID | Flow | Binding | Expected | Metric | Fixture |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| CT-001 | device_code | DPoP P-256 | nonce required; TTL 120s; aud exact | delegations_per_tenant_1h | fixtures/device-code-dpop.json |
|
||||
| CT-002 | auth_code | mTLS | SAN matches client_id; aud strict; PKCE | delegation_failures_5m | fixtures/auth-code-mtls.json |
|
||||
| CT-003 | client_credentials | DPoP Ed25519 | tenant claim required; multi-aud rejected | delegated_token_duration_seconds_p99 | fixtures/client-cred-dpop.json |
|
||||
| CT-004 | revocation | any | revocation freshness ≤600s; JWKS rotated | jwks_freshness_seconds | fixtures/revocation.json |
|
||||
| CT-005 | ABAC precedence | n/a | ABAC precedence < RBAC; denies override | abac_precedence_checks | fixtures/abac.json |
|
||||
|
||||
## Metrics/alerts
|
||||
- `delegations_per_tenant_1h`, `delegation_failures_5m`, `delegated_token_duration_seconds_p99`, `jwks_freshness_seconds`, `abac_precedence_checks`.
|
||||
- Alerts mirror delegation quotas (see AU8) and revocation freshness.
|
||||
|
||||
## Execution
|
||||
- Deterministic harness: run tests against offline kit verifier bundle; log NDJSON with UTC timestamps; hash results into SHA256SUMS when produced.
|
||||
11
docs/modules/authority/gaps/authority-delegation-quotas.md
Normal file
11
docs/modules/authority/gaps/authority-delegation-quotas.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Delegation Quotas & Alerts — AU8
|
||||
|
||||
| Metric | Threshold | Action | Alert |
|
||||
| --- | --- | --- | --- |
|
||||
| delegations_per_tenant_1h | 500 | throttle new delegation grants | pager @delegation-oncall |
|
||||
| delegation_failures_5m | 25 | investigate upstream scopes/JWKS | alert + ticket |
|
||||
| delegated_token_duration_seconds_p99 | 900 | enforce max TTL 900s; clamp to policy | alert if >900 |
|
||||
|
||||
Notes:
|
||||
- All metrics tagged with `tenant`, `environment`, `client_id`.
|
||||
- Offline mode: emit to local file sink with rotation; include in offline bundle logs.
|
||||
16
docs/modules/authority/gaps/dev-smoke/2025-12-05/SHA256SUMS
Normal file
16
docs/modules/authority/gaps/dev-smoke/2025-12-05/SHA256SUMS
Normal file
@@ -0,0 +1,16 @@
|
||||
283a65b605edc222a8e58f148b3797af3c14c33fc928964f946c77312a802545 docs/modules/authority/gaps/dev-smoke/2025-12-05/authority-abac.schema.sigstore.json
|
||||
cfea834c83ab3ddfcd4863824bbebfcb98578278850a906fce2f535c892c81ad docs/modules/authority/gaps/dev-smoke/2025-12-05/authority-jwks-metadata.schema.sigstore.json
|
||||
e9e26fe469e221ee6c3255f5c450dc9f0f8cc43b2ae55285e859f28cec62d375 docs/modules/authority/gaps/dev-smoke/2025-12-05/authority-offline-verifier-bundle.sigstore.json
|
||||
1c1188af6190438c2485a0e4193a9a8b778bd69a35b743da73ee891357192966 docs/modules/authority/gaps/dev-smoke/2025-12-05/authority-scope-role-catalog.sigstore.json
|
||||
54b4288882bcd93a00d656a0d8ddb256e407096c76ab44f5137956a76ac38c05 docs/modules/authority/gaps/dev-smoke/2025-12-05/crypto-profile-registry.sigstore.json
|
||||
1d77b324726f07712ec8a5276b2c187a3ebfa1ce888481e941b428e5aadaf310 docs/modules/authority/gaps/dev-smoke/2025-12-05/rekor-receipt-bundle.sigstore.json
|
||||
81dfe543442831f7bfeec480d5937594590a15b3400ae3567d7d96e62c06ed44 docs/modules/authority/gaps/dev-smoke/2025-12-05/rekor-receipt-policy.sigstore.json
|
||||
96316e53ca5885689870c69719778c2685f191bee844003cb170333fb91579e1 docs/modules/authority/gaps/dev-smoke/2025-12-05/rekor-receipt.schema.sigstore.json
|
||||
0d14597c3685d3b9c87626e4fef92c6e18ce9d110d1e019ac3de3592c2be0732 authority-abac.schema.sigstore.json
|
||||
3b6a92f8d650b2ea3afc56d2c63830f0ec4f5f215ee1b361936553788b40ac45 authority-jwks-metadata.schema.sigstore.json
|
||||
7c2888a1f810dd35c9feb0f119aff1fb0f6e11338ca55bbfa8c68bb195c6dbe9 authority-offline-verifier-bundle.sigstore.json
|
||||
3df91f1fb62a1e96b2c9fb7a200983a50f4bdc584e555189c9944bcb74851fd6 authority-scope-role-catalog.sigstore.json
|
||||
192d7ae0e5213fc6c4572d7edc6b2adc4392930a42c8fd54c9ff619a5c7c5573 crypto-profile-registry.sigstore.json
|
||||
59f812e76af748c6636a5e8a3b2fe6dc5a92a6a83aa49dc010042dfcfaa52de3 rekor-receipt-bundle.sigstore.json
|
||||
9b5fdf26e452fcbfcff03359652f8f2e457d594c70f1a3fe7d20c80674701810 rekor-receipt-policy.sigstore.json
|
||||
f6dfa58a44a364d5e7dff6681d85bb9892a0cba8652e4bb0af4fecfaccc2b003 rekor-receipt.schema.sigstore.json
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261581","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898098","inclusionPromise":{"signedEntryTimestamp":"MEUCIDEgTqC4t8Q8d/NI4o23Des73lvlx6Gm7/tN3XiMRMkWAiEAsdlHp6FX40eUD/JdSq9pLt5vYLa/uv4vfdfq4POYm5A="},"inclusionProof":{"logIndex":"620357319","rootHash":"q4eGOXOBzJWiefOQj1tuo+v38qqojMPDju/NAgpJnrc=","treeSize":"620357321","hashes":["BHaaHL9kp1hGh8FqxyWW/pa5nbme1MvYHQRwuGGZUiE=","cckKnInSrl5b4TtxTEEEPqpqQ1v6ZSzzBzldISOpn2I=","8JmmXPxrtCUIs1+smXPsvdTsmKqqfuxwAFId8tcj4dk=","jDMxd79vTNTNunAe263/3aervqzsnLHETTag8N19oBw=","/G2R3q3RiVuAUNj8sIoBVsq3lPGXelKEuVKhMuFCSR8=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357321\nq4eGOXOBzJWiefOQj1tuo+v38qqojMPDju/NAgpJnrc=\n\n— rekor.sigstore.dev wNI9ajBFAiEAnylWKFlBDE6TKF24+ONHD9vXMmXFqD2jSE08PE/Vv2gCIEe26h63S5iijhyKxVk4++lMwxV5zs9IUhFiy8mGQqbq\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIyZTA3YzYzOWE4ZmE2MDEwNWU0Mjk2NWM1YTkyNjU3ZTY2ZjYyNTVjOWFhMzc1YmZhY2M0MTMwODNlMWYzNmEzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRDRTR2pLVnZRV2V1Z2d0RVBTbmpKQ2lnRWh5ZWRyRUhFWHdIMzlSQXNpbkFpQVRIQys3dm90aW1jOTNzQlkzZk94NU9pMGlvL25NTjRLUW1odm9zRjIyVFE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgfOLaSQpyf6AQTD3Z6b7JoCRsIdig5L5yLP/Y96gB+FwCFQDgJ4URfUbgUnhmXihWDWuBrqI/3hgPMjAyNTEyMDUwMTI4MThaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTIwNTAxMjgxOFowLwYJKoZIhvcNAQkEMSIEIJvTv19bQKko5FBUUN1tKBv5zRbwlqAfBPE4jLjwix0tMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMCjBqm4ZjRfYdf0d5F6tGShauuvINSf28FGfvkgkQS8+ZqbD7DqlZn6Ml/NrrSsU6QIwR6pQ9oKCxatiHp19cT0SZbz4Vi+DDT2C5Nb+qzl4pkXRa1YPd1dEsGfPK5Ac/Je4"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"LgfGOaj6YBBeQpZcWpJlfmb2JVyao3W/rMQTCD4fNqM="},"signature":"MEQCID4SGjKVvQWeuggtEPSnjJCigEhyedrEHEXwH39RAsinAiATHC+7votimc93sBY3fOx5Oi0io/nMN4KQmhvosF22TQ=="}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261540","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898092","inclusionPromise":{"signedEntryTimestamp":"MEUCIDMiIwP488xzdxl72gAoyS2KMJHE0/NKEXu8oycf9R7MAiEA0qIyjBx12KBwy/OljjYCOuFrCrJVki3eSzxd+/C9XR4="},"inclusionProof":{"logIndex":"620357278","rootHash":"4u12AsOknTsgbKxlhNZwrCkTyUwuo1MOy+s+JqewdpM=","treeSize":"620357282","hashes":["TqXO2tgiTwDilV8PvX2g5xyUpIKWCG8t5snjeGoOzNQ=","3gouRKPJDdbX6loenXzXFf3o5hCyJ/Kg9jzmwSw0QOE=","2fy11pBUXsR+lUCZyLXHdSbAcsR1YWhMV0p++yNSG7o=","wYwP6Q39AWnSvQATTV+HSGtWecN0bXI1hE0W08BTx4w=","+pBY44/73YCp4GZw0GRTIrff64cYbdtPa//Hdw1cycc=","FtLOLGRZ6ND4vAWbD4D2UvM4X4Q0WZ8RxPFA7zFlf0c=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357282\n4u12AsOknTsgbKxlhNZwrCkTyUwuo1MOy+s+JqewdpM=\n\n— rekor.sigstore.dev wNI9ajBFAiADRl8qeZCij4N3TCGH8rPbRmq/mUobskCV1RG6WFvdowIhAIYA18MRkI6HyY1ATYBKttbX2zMEjTiVcp0mPRGoGmCG\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkMDcyMWQ0OWI3NGY2NDhhZDA3ZmU3Zjc3ZmFiYzEyNmZlMjkyZGI1MTU3MDBkZjUwMzZmMWUxMzI0YTAwMDI1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNyaVVCanQzMzhxU0NieVJ5OXNoTG1CZmF5VFlsbGxtUjM2cUhZOWFodXhBSWdaRmpTTlNaYzU5V0NRN2Y4NjN6d09KWURIM2FCN29JS3hoMXkxVzRMTW9vPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgIyJn40Qf8OtFEuUv0ehHaNH3+Wh9gxXO2dHEPNaE7lUCFG6cMlIeH5TWwyy68kXKQeXqlCUcGA8yMDI1MTIwNTAxMjgxMlowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjUxMjA1MDEyODEyWjAvBgkqhkiG9w0BCQQxIgQg48N1HGHwmsj0P01UA4GK/kO3QP368mnNYum8ANFvyIEwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwIJPwsXbWVzx+ZMug2vVbqujE+qH+7q1vw33qV4NYaoGIrofp8IXKndUzDViiCvC+AjBmXXaGTDm1cZIE0j34srmkFKPT70SafxEXnrUjAzrsj2VFZg0nCw8QjLzEE8XZiTE="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"0HIdSbdPZIrQf+f3f6vBJv4pLbUVcA31A28eEySgACU="},"signature":"MEUCIQCriUBjt338qSCbyRy9shLmBfayTYlllmR36qHY9ahuxAIgZFjSNSZc59WCQ7f863zwOJYDH3aB7oIKxh1y1W4LMoo="}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261570","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898096","inclusionPromise":{"signedEntryTimestamp":"MEUCIHQ8pEeWQ9BQI6iE9+prXFwGVHzH5j9AbCBV4tLEhsDDAiEA2deD88vEnz77Z6J9InExAUaNe2pdNrCVDbNj9n75rMs="},"inclusionProof":{"logIndex":"620357308","rootHash":"cKqg+Ht+zFeuAS18Rlh8iy8buKwCX2vS6Fblm/R2eeE=","treeSize":"620357309","hashes":["QdOmx3/kv66Jc+DfBeZWsYpJ4TfZOe/kDmI01ryLTsY=","LsPoyLo9CNyIo8o2YQdkVO+vz+FHdLGwLD8oQF81UDw=","N7VFCoInRMmEWC+tLj6ZGy5aJp6ZC5hYKmmGLhkClXI=","fwfWHmgFQAi386iSqE0TXnmwmCV9XUMhG0oWo8Sp75A=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357309\ncKqg+Ht+zFeuAS18Rlh8iy8buKwCX2vS6Fblm/R2eeE=\n\n— rekor.sigstore.dev wNI9ajBFAiEAmTfO6fCDhHHtd0+FWz+gUlgkN2pFhtZ6rIsKekahfUgCIGk1DjHsaZlfTB0aoMeyTCqdgK/U8ImIRfqMfAG6zeFJ\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4NThjM2FjNTdkY2ZjMTU1NTU3NmMzYTM2ZmVlNjJiMzNjZjBjMTA3ZjRlZWM4NDgyYjU4OGI2MDM4MDY1ZTkzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQy9VWndwRHFsNFBZK1ovaEY5bkRQUC9pci9YOXJBUElsRU9KSm5SSXBaMUFpQlBzUWxONlRLTXJabnZFL3JPRGlJMUpCVE1BRkZaM1dtN1ZlQzNvei9xTHc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgLE9yt+C5zCGyTnEirbq9CBWgBIwMUGUKgw2imNDi/DMCFQDNhCTuZYeXbjXuHKetVb0RtgpOaRgPMjAyNTEyMDUwMTI4MTZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTIwNTAxMjgxNlowLwYJKoZIhvcNAQkEMSIEIOU8tUIEmj7Go5Uz37xEBUbNU/hjb2g9E7Zpnnkek7A1MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQCurqgm4g91HExAfgBkJYkORSXBaoHtZDwVZu0p1FjNOWhTGZB473XQkfoMquu6BHUCMHS5/ZFTuxl1MBSnRoNSvbh9s/YsWPqSeakR8PLlAk1WsWc6heIrfmhK+XSLpbztYA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"hYw6xX3PwVVVdsOjb+5iszzwwQf07shIK1iLYDgGXpM="},"signature":"MEQCIC/UZwpDql4PY+Z/hF9nDPP/ir/X9rAPIlEOJJnRIpZ1AiBPsQlN6TKMrZnvE/rODiI1JBTMAFFZ3Wm7VeC3oz/qLw=="}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261529","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898090","inclusionPromise":{"signedEntryTimestamp":"MEQCIA4sEOwE5160LmRdoLfPjzC6NHegHtv1NkPIkurCMYzBAiAwy5y/I5+M4ZniT/WeG1LZ3qJ5ePKaqDGhr5Sx18V1ew=="},"inclusionProof":{"logIndex":"620357267","rootHash":"5lpTugJFIe4AVnFnITpbEwlum6xrFrrqp9s10VcujSw=","treeSize":"620357268","hashes":["lhnxn/LOlta4sISwDJA/Wgg8O+3uskxbkCnjgxayZcU=","H1WgGK1WcM0i50CXfNTVFd44YgE+kewHsBzB6VMKUcc=","+pBY44/73YCp4GZw0GRTIrff64cYbdtPa//Hdw1cycc=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357268\n5lpTugJFIe4AVnFnITpbEwlum6xrFrrqp9s10VcujSw=\n\n— rekor.sigstore.dev wNI9ajBGAiEAyLNiHoCTvgOj8SDcv7T8Lodo2Kuj+fsfXR09ti1hWlsCIQDc7xyL2enPqy2O7dqNBp/ejLEvsj+1zZ2lYfVWHOm5RQ==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4ZDk4YjYwMzI0N2I1YTNiNDE2NTFlNjZmZWYxOGM2ZGY1NGQ4MGZhNzE5ZjIyMjExNDNmNGFhOTQ2M2IxMmYzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURnRW9GMFB1QWNtRld3cVZ5THFTbXhySlA0dUIzL0VENkpFYjhEcGNWanl3SWhBSXd2RFUwejJkK2x5bDE5ZDBsc1laMDZoRks5WnFCZlBIZVJzMS9BZVBVUSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgnKrMfbhd/KL303/L49boxn9dt5pgRb1Ez0DdbTJCyYMCFHS9gHV4GxfHiIzUanAhALmmIRTNGA8yMDI1MTIwNTAxMjgxMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjUxMjA1MDEyODEwWjAvBgkqhkiG9w0BCQQxIgQgP1+g/metQS/fz7fXSie0HS4jlTpezwljt7jXiEj/qKkwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAP+7zh1hslU+lI872W8eYsVpBWgZkqOmjkAYKJixVAhQcYZlw9cnkwkZNeN5E+VT2gIxAOlh1mKCv8l1NmAUoe0xgPuefou0z4dIafd9OqpT6rRAnYhNuXlhrtHo89n3CfEWLw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"jZi2AyR7WjtBZR5m/vGMbfVNgPpxnyIhFD9KqUY7EvM="},"signature":"MEYCIQDgEoF0PuAcmFWwqVyLqSmxrJP4uB3/ED6JEb8DpcVjywIhAIwvDU0z2d+lyl19d0lsYZ06hFK9ZqBfPHeRs1/AePUQ"}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261560","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898094","inclusionPromise":{"signedEntryTimestamp":"MEUCIQC/E8YYatXVFDkZztPWPtfFUC1T0zs1Qc2vxMKiFdCyXAIgY8o9U3E5cCScEJYlDC3f9yk8X8+9bVYLJiSUqNwrad0="},"inclusionProof":{"logIndex":"620357298","rootHash":"sw2ZNQxjIk2eZFmSeT+phIWwiXbSeJnUPQPwnao8vSk=","treeSize":"620357302","hashes":["H9azckIjwzZ43yTW4S3R6O0V25a8Gq0AYX6hnmcHC8U=","6i0rDg0JQQYzymVx/LeHsH+UivgMrm8CQO/lZt8SOSw=","LHC2Rbo/pUzPy2XNUVphakPKtMUnaaC2z9vnHPQeVow=","N7VFCoInRMmEWC+tLj6ZGy5aJp6ZC5hYKmmGLhkClXI=","fwfWHmgFQAi386iSqE0TXnmwmCV9XUMhG0oWo8Sp75A=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357302\nsw2ZNQxjIk2eZFmSeT+phIWwiXbSeJnUPQPwnao8vSk=\n\n— rekor.sigstore.dev wNI9ajBEAiAp0PfBLh25tNWcb5HXlN+0Nbx1pUDVFpJ83mwuRhkKxQIgUH4p6fFsyUEWcA73Apd77KBaWqCwbEdHilJDaKlnNLg=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIyNTc5MzAzNzZkMmZhZGZiYmEzZWQ2YmE2MjQ0NDgxNzRlMzkyNmJhNmIyMzRjNjk4YzQ3ZDI4Yzg3MDU0ZDdlIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURPZHF6Y3FJdTVPcHgrUThOZEI2ciswWWY3QnZTekwvMG1Nb1A3L0Z2NFV3SWdTSXVlNE02QUxQSWVPMSsrbndyamQ0bDRrUXUxc0xTeEJsS0RtN084WTNNPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg3cn2s/meUzm36E5ACst/U8uKO+LrcGalAGdEBPYTWrECFGGECn5nRmCm75VkMYV8YUAeW62VGA8yMDI1MTIwNTAxMjgxNFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjUxMjA1MDEyODE0WjAvBgkqhkiG9w0BCQQxIgQgtu9MaWop3fuDFBOVCxwtw34nlDPtxMHuZ0Tc1BtrJrMwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAKyrvkv6asWz9lTAzG7W28QnW1ibRdRepPvhDpCfQzymv+NxCB/5GCylxYiwbeTVTAIwWU5gXjVseKzeKwcu6ZhMHJmc8QpfCFxVSM8frCiSvVz7nT8f07mw6DcKpMYd0XXP"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"JXkwN20vrfu6Pta6YkRIF045JrprI0xpjEfSjIcFTX4="},"signature":"MEUCIQDOdqzcqIu5Opx+Q8NdB6r+0Yf7BvSzL/0mMoP7/Fv4UwIgSIue4M6ALPIeO1++nwrjd4l4kQu1sLSxBlKDm7O8Y3M="}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261612","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898103","inclusionPromise":{"signedEntryTimestamp":"MEQCIDKwqdUilmkal8zAdasSCvwznl49dswtmkm/JoyspqKSAiBii/1P5/4+pWDCRkef+xQNWHjoMEk/zOPkZRRck0Meig=="},"inclusionProof":{"logIndex":"620357350","rootHash":"fZEql+5jOrXLLCELO5cKxWxNYxqa5iyKjHictxaUQUs=","treeSize":"620357352","hashes":["Y8fxKOxiNZGIt/aIhO8oegcPc4zeaFcd57+3IpimyTk=","KH0A8HpqDs9cFmgHMlHvSN4G6YUunq0LxDYC54cFvQM=","WLEn7briQrL9GlgVkV3UvjjkmCkoL8QMYMnBX57WpmA=","sxaY2nd5Gb0ceRMcmHUq8BG7thgyWHIcNt2Yd3qBsyU=","/G2R3q3RiVuAUNj8sIoBVsq3lPGXelKEuVKhMuFCSR8=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357352\nfZEql+5jOrXLLCELO5cKxWxNYxqa5iyKjHictxaUQUs=\n\n— rekor.sigstore.dev wNI9ajBGAiEA5cNa3xeDRtOmdDtSKQ2qbWnjb7vQtsJqUsQn/oIW6G4CIQDjEV6FIg+J5EVHFl/t4u9gb+tcYFjkNExAQ1pCt8Fq+A==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIyNzg5NTE2NDQwZDVkYzZkMDBhZmI3MTFhN2YxOTJhNjUyZjIxZTkwY2VhNmNkMGRhOTUxMWE1Y2Q1ODYzOWUzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNNb1B0UFBteG84WU1zUmZreTJQZmN0cklVQm5wRWg3RDdYZjVVd1JuMFFnSWdIMXMyb3ZZSjZkMGZRckNYT3pGN2o1d2NxWWVsTU9MalVBbWV4eXY3cmxVPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg9Ag6sxSZ6UMXt1aBOlan0NZoxcjteC3dLmf2rExw5RMCFQCdQlTaY4sRvTxL28HngUyloO7MixgPMjAyNTEyMDUwMTI4MjNaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTIwNTAxMjgyM1owLwYJKoZIhvcNAQkEMSIEILkB26C96QTEqdVauxqKiQUgeUofw1UyfsXHUXZLXzeUMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMGcHaT9c/zniJ+s9ExxHsMyQeOmN9wo5DZMhen7nlJVMUvC3bvmdqWhbIN8sV42I9AIwDmlBUjPFyMDPuVxWp70QJPaAlVTcD/ihEgsMVv9sufaupueOq0SGNfzxfdsUOXcj"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"J4lRZEDV3G0Ar7cRp/GSplLyHpDOps0NqVEaXNWGOeM="},"signature":"MEUCIQCMoPtPPmxo8YMsRfky2PfctrIUBnpEh7D7Xf5UwRn0QgIgH1s2ovYJ6d0fQrCXOzF7j5wcqYelMOLjUAmexyv7rlU="}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261596","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898100","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDd9K90sKzv0YrIDJbAfK7gzBl5pilGIDFVCn9dkYQa+AIgRW1CJVk0QpWrahGq7PTI4N4TTVnarOCoCMZeNjuDWrg="},"inclusionProof":{"logIndex":"620357334","rootHash":"uD0BasAa1DDDZoGpq+TutTwmHD/TcpFo27wAGxBlvaw=","treeSize":"620357335","hashes":["ISwOxpipUZNcVUEBEsa4wX6I68C0KRn3CJRX3BU4+Kc=","mFNT5DM4blw1pGT6A8A7vyoo7ESOpBIJCevBfIu4n/o=","3cZh2HSsyesMo46suYd1LrOUM0nRC6wsFMliGaYnrro=","/G2R3q3RiVuAUNj8sIoBVsq3lPGXelKEuVKhMuFCSR8=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357335\nuD0BasAa1DDDZoGpq+TutTwmHD/TcpFo27wAGxBlvaw=\n\n— rekor.sigstore.dev wNI9ajBFAiAlRFEjBz3c4P3XizLIDaVsyHds9Lh3XUPnlnvHpKjhxAIhAJ0zoWa0iJr2lMuNaboblhozvDSVWcupUOp5fYCejbrJ\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIwODBjOTI2MThiOWI2NzM4MzIwMDM0ZTg2OTljYTRiYjJiZWI0MzU4OTM5YjMyZTEzZjdhMzA2NGM1NGJmNjIxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURjM2RGbjBKNHFuSFdQa0FramlMNFVZMlFmbnVuZU00WEdmbUVRUFBnazZRSWhBS24vQytLbUh1NWxobHZxVXJtN2ZRaExCMEFkVnUzZTlINlhiejh1TXU3cSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgW+vHF6zVV2HEOIOCJVmg1Nm6uEg993lRe8AFYm5TTM4CFQCZAzR1LsJhqq6WIRDWV5wKfr2aPhgPMjAyNTEyMDUwMTI4MTlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTIwNTAxMjgxOVowLwYJKoZIhvcNAQkEMSIEIG2jxK3CU5r6qwqk4/Q3RaoorEShIjua7C5miLt0LmngMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMHggQ62qt89oQBjmdL4aWv5C3ENgOAMtkecyrITuev82i57EqqA9kqaDxXgyqXKe6wIwH3+/nALEPDCeX79IGvb74FZONWomnsgkn1k2ZcHiH1FNlmoOEkQGMi/JJM+8Xonl"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"CAySYYubZzgyADToaZykuyvrQ1iTmzLhP3owZMVL9iE="},"signature":"MEYCIQDc3dFn0J4qnHWPkAkjiL4UY2QfnuneM4XGfmEQPPgk6QIhAKn/C+KmHu5lhlvqUrm7fQhLB0AdVu3e9H6Xbz8uMu7q"}}
|
||||
@@ -0,0 +1 @@
|
||||
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"1/nAsWLsk/yOPl4sjynn6FOCC1ixnrbxSK9UHxjF8MQ="},"tlogEntries":[{"logIndex":"742261606","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1764898101","inclusionPromise":{"signedEntryTimestamp":"MEQCIAaHuuvEAX00G6+7hdhJY+Re4HT9Sfs5i7NwcqHw4baeAiBxJ4LZvC6hd+R2y0hYG1OOEk0RRqD4xz1jeO0uWUcqfw=="},"inclusionProof":{"logIndex":"620357344","rootHash":"zvo3n6gkYvLQ1LZ+Q7E+ul5IrMuLuU6gI0eZ+azmNqU=","treeSize":"620357345","hashes":["sxaY2nd5Gb0ceRMcmHUq8BG7thgyWHIcNt2Yd3qBsyU=","/G2R3q3RiVuAUNj8sIoBVsq3lPGXelKEuVKhMuFCSR8=","MsbSn8A7+57Q/iCHvvytl2sFv02/NRh/gy1MKcx+Djo=","lAO1HiLqjCzu/SoBFiq1gdPlGNzjO4g9ooh1t2yvcKo=","x92lAQrUGl8yBHXLy2Gr9OQFzzxBOFWUbN/8+Tom77o=","HoEM2ns+gdm90AuwwaVFJ8oq8WFcudcFvMI0JdGi/z4=","VWpUA17ERJQm9QU0vgexm12L+cGOZTg3N5EHn1cXuzQ=","KZ2DfqhD5apR36qX2VGiRW3eMvW+ROw7Ba+DOrpTJwA=","F1MW0aweiwl+cfFFvmEOEAH4yAIfnqXyhRUJocjt9o4=","OwMBv2+d/917ew5VN1ZtUAPzljoADlvS+mBOPRX2lYU=","Mo/+V8ftGFQQbS+XsKdaF+l1sDADl3NB/NC1OoAr9WM=","RsQ5xuBa0gKvWk53V8F8JismpQAqEf9N2nqMjFfr/KA=","etMFukD8mHOD37ceTwB1Al2nC3iIzy/CTtNjwflJmDE=","huaH1ZSkRyP4+vpmGtpmkkL845lhcmN9io8MIe6Sob0=","ZmUkYkHBy1B723JrEgiKvepTdHYrP6y2a4oODYvi5VY=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n620357345\nzvo3n6gkYvLQ1LZ+Q7E+ul5IrMuLuU6gI0eZ+azmNqU=\n\n— rekor.sigstore.dev wNI9ajBEAiABX5oYZ+FXdCOpNlQfO/IWaTVgtBe2oubchhn2fbwe/AIgK+/lfZ2ogJuia1+IQrvrD0z9h+8VOu8O/9EQj45xFkY=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4ZDA0NDgwODFmODNhNGZjNmUyOTlkMzJlODAzMTBhZTBkNzdjZGU5NDMxZTgyMTExYWE5NzU2ODMyMzRlNjk5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJSG5jV1pNZjNiaS9iTjc0OWMveU5LVGdCblZtdlJ0Y053UngwUStsdUhsaUFpRUErWW9QQTZTalhKWksxa0tmOFFGbEtqVHpHS0F0QWdpdnVOYVVBU1dJZ2VvPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVacmQwVjNXVWhMYjFwSmVtb3dRMEZSV1VsTGIxcEplbW93UkVGUlkwUlJaMEZGWm05Skt6bFNSa05VWTJacVpVMXhjRU5STTBaQmVYWkxkMEpSVlFwWlFVbE5NbU5tUkZJNFZ6azRUM2h1V0ZZcloyWldOVVJvWm05cE9IRnZaa0Z1Unk5MlF6ZEVZa0pzV0RKMEwyZFVOMGRMVlZwQlEyaEJQVDBLTFMwdExTMUZUa1FnVUZWQ1RFbERJRXRGV1MwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgLaNsxbcBpsMX5ed55AVDnRiuJEgv5V56MY1EHB3wr/kCFQDHyU73n8eTl6YjTLX+adWHO9hHNBgPMjAyNTEyMDUwMTI4MjFaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTIwNTAxMjgyMVowLwYJKoZIhvcNAQkEMSIEIMfbCxU1H8bARyQbMC1ZGdX4iL7fPvfuWtmxhV6BdBE+MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMGwgDuT9hsgdopCfCxO/JJKIrKjjJJcTrhE21Uut2Z6HXRdy1ZAffgp64BEHxOg/eQIxALmLiXb9KZi5o9ErjG8xjvwvIaOWyj70c9sg3sUwGAOgtLM+PTteuljEtS+upbN2Iw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"jQRICB+DpPxuKZ0y6AMQrg13zelDHoIRGql1aDI05pk="},"signature":"MEUCIHncWZMf3bi/bN749c/yNKTgBnVmvRtcNwRx0Q+luHliAiEA+YoPA6SjXJZK1kKf8QFlKjTzGKAtAgivuNaUASWIgeo="}}
|
||||
13
docs/modules/authority/gaps/rekor-receipt-error-taxonomy.md
Normal file
13
docs/modules/authority/gaps/rekor-receipt-error-taxonomy.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Rekor Receipt Error Taxonomy — RR9
|
||||
|
||||
| Code | Classification | Retry? | Backoff | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| RR9-001 | payload-too-large | no | n/a | Exceeds rk2_payloadMaxBytes. |
|
||||
| RR9-002 | checkpoint-stale | yes | exp backoff, max 5 attempts | Check rk7 freshness; fetch new checkpoint. |
|
||||
| RR9-003 | shard-mismatch | no | n/a | Wrong shard per rk3 routing. |
|
||||
| RR9-004 | inclusion-proof-missing | yes | exp backoff, max 3 | Retry with same payload; fail hard after 3. |
|
||||
| RR9-005 | idempotency-duplicate | no | n/a | Duplicate submission key (rk5); caller should not retry. |
|
||||
| RR9-006 | pq-unsupported | no | n/a | PQ toggle disabled (rk8). |
|
||||
| RR9-007 | validation-failed | yes | linear backoff 1s,5 attempts | Generic validation error; log context. |
|
||||
| RR9-008 | transport-error | yes | exp backoff, jitter | Network/transport failure. |
|
||||
| RR9-009 | policy-annotation-missing | no | n/a | Missing rk10 annotations. |
|
||||
3
docs/modules/cli/guides/SHA256SUMS
Normal file
3
docs/modules/cli/guides/SHA256SUMS
Normal file
@@ -0,0 +1,3 @@
|
||||
# Hash index for CLI guides
|
||||
# <sha256> <relative-path>
|
||||
9967d66765f90a31e16d354e43dd6952566d3a359e3250f4f5f9d4b206ba1686 docs/modules/cli/guides/exceptions.md
|
||||
11
docs/modules/cli/guides/exceptions.md
Normal file
11
docs/modules/cli/guides/exceptions.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# CLI Exceptions Guide (stub)
|
||||
|
||||
> Status: BLOCKED — depends on exception API contract and CLI command shapes (DOCS-EXC-25-006). Outline fixed to reduce future churn.
|
||||
|
||||
## Outline
|
||||
- Imposed rule banner
|
||||
- Commands: list, get, create, approve, reject (actual names TBD)
|
||||
- Flags/exit codes (to be filled when CLI contract arrives)
|
||||
- Examples with deterministic outputs (hash in `docs/modules/cli/guides/SHA256SUMS` when available)
|
||||
- Offline/air-gap usage notes
|
||||
- Troubleshooting and known errors
|
||||
21
docs/modules/excititor/OPENAPI_FREEZE_CHECKLIST.md
Normal file
21
docs/modules/excititor/OPENAPI_FREEZE_CHECKLIST.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Excititor OpenAPI Freeze Checklist (chunk API) — unblocker for EXCITITOR-DOCS-0001
|
||||
|
||||
Status: awaiting CI validation + contract freeze. This checklist defines the gate to flip EXCITITOR-DOCS-0001 to DOING/DONE.
|
||||
|
||||
## Freeze criteria
|
||||
- Chunk API CI green on main (tests + contract lint).
|
||||
- OpenAPI spec version pinned (e.g., `api/chunk-api.yaml` with semver tag) and referenced from README/architecture.
|
||||
- Breaking-change log reviewed (added/removed fields, status codes) with ack from Console Guild.
|
||||
- Deterministic samples produced (request/response NDJSON) and hash-listed.
|
||||
- Observability fields (trace IDs, request IDs) documented.
|
||||
|
||||
## Required artefacts
|
||||
- `docs/modules/excititor/api/chunk-api.yaml` (pinned version)
|
||||
- `docs/modules/excititor/api/SHA256SUMS` with hashes for OpenAPI + samples (file stub present)
|
||||
- `docs/modules/excititor/api/samples/*.json` (deterministic examples; directory stub present)
|
||||
|
||||
## Actions when criteria met
|
||||
1) Set EXCITITOR-DOCS-0001 to DOING in sprint and TASKS; pull pinned OpenAPI + samples.
|
||||
2) Update module README/architecture to reference the pinned spec + samples.
|
||||
3) Add hash entries to `docs/modules/excititor/api/SHA256SUMS`.
|
||||
4) Flip EXCITITOR-DOCS-0001 to DONE and unblock ENG/OPS tasks.
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
Excititor converts heterogeneous VEX feeds into raw observations and linksets that honour the Aggregation-Only Contract.
|
||||
|
||||
## Latest updates (2025-11-30)
|
||||
- Sprint tracker `docs/implplan/SPRINT_0333_0001_0001_docs_modules_excititor.md` and module `TASKS.md` added to mirror status.
|
||||
## Latest updates (2025-12-05)
|
||||
- OpenAPI freeze gate added at `OPENAPI_FREEZE_CHECKLIST.md`; EXCITITOR-DOCS-0001 remains BLOCKED until chunk API CI passes and pinned spec + hashed samples are delivered.
|
||||
- Sprint tracker `docs/implplan/SPRINT_0333_0001_0001_docs_modules_excititor.md` and module `TASKS.md` mirror status.
|
||||
- Observability/runbook assets remain in `operations/observability.md` and `observability/` (timeline, locker manifests); dashboards stay offline-import friendly.
|
||||
- Prior updates (2025-11-05): Link-Not-Merge readiness and consensus beta note (`../../updates/2025-11-05-excitor-consensus-beta.md`), observability guide additions, DSSE packaging guidance, and Policy/CLI follow-ups tracked in SPRINT_200.
|
||||
- Link-Not-Merge readiness: release note [Excitor consensus beta](../../updates/2025-11-05-excitor-consensus-beta.md) captures how Excititor feeds power the Excititor consensus beta (sample payload in [consensus JSON](../../vex/consensus-json.md)).
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
| EXCITOR-DOCS-0001 | DONE (2025-11-07) | Docs Guild | README aligned to consensus beta release notes. |
|
||||
| EXCITOR-OPS-0001 | DONE (2025-11-07) | Ops Guild | Runbooks/observability checklist added (`mirrors.md`). |
|
||||
| EXCITOR-ENG-0001 | DONE (2025-11-07) | Module Team | Implementation plan alignment with SPRINT_200 updates. |
|
||||
| EXCITITOR-DOCS-0001 | BLOCKED (2025-11-19) | Docs Guild | Await chunk API CI validation + OpenAPI freeze before finalizing docs. |
|
||||
| EXCITITOR-DOCS-0001 | BLOCKED (2025-11-19) | Docs Guild | Await chunk API CI validation + OpenAPI freeze before finalizing docs; gate defined in `OPENAPI_FREEZE_CHECKLIST.md`. |
|
||||
| EXCITITOR-API-STUBS | DONE (2025-12-05) | Docs Guild | Prepared `docs/modules/excititor/api/` stub with `SHA256SUMS` and `samples/` for chunk API freeze; ready to record hashes when spec lands. |
|
||||
| EXCITITOR-ENG-0001 | BLOCKED (2025-12-03) | Module Team | Blocked by EXCITITOR-DOCS-0001 (chunk API CI/OpenAPI freeze). |
|
||||
| EXCITITOR-OPS-0001 | BLOCKED (2025-12-03) | Ops Guild | Blocked by EXCITITOR-DOCS-0001; update runbooks once OpenAPI freezes. |
|
||||
|
||||
|
||||
1
docs/modules/excititor/api/SHA256SUMS
Normal file
1
docs/modules/excititor/api/SHA256SUMS
Normal file
@@ -0,0 +1 @@
|
||||
# Hash index for Excititor chunk API spec/samples (fill once OpenAPI freezes)
|
||||
@@ -58,6 +58,7 @@ devportal-offline/
|
||||
- Export Center expects `manifest.json` at bundle root; validates sha256/bytes before publishing.
|
||||
- Offline bundle must build via `npm run build:offline` without network calls after initial `npm ci` + `npm run sync:spec`.
|
||||
- Specs and SDK archives are treated as opaque; manifest carries their hashes for downstream verification.
|
||||
- Record all hashes in `src/DevPortal/StellaOps.DevPortal.Site/SHA256SUMS.devportal-stubs` (or final SHA file) to keep determinism visible to docs/implplan sprints.
|
||||
|
||||
## Open items
|
||||
- Add per-language SDK metadata (version, commit SHA) once SDKREL-64-002 finalises.
|
||||
|
||||
1
docs/modules/graph/observability/SHA256SUMS
Normal file
1
docs/modules/graph/observability/SHA256SUMS
Normal file
@@ -0,0 +1 @@
|
||||
# Hash index for graph observability exports
|
||||
12
docs/modules/graph/prep/2025-12-05-ops-demo-placeholder.md
Normal file
12
docs/modules/graph/prep/2025-12-05-ops-demo-placeholder.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Graph Ops Demo Placeholder (2025-12-05)
|
||||
|
||||
Waiting on next demo outputs to move GRAPH-OPS-0001 from TODO. This file reserves path and determinism checklist.
|
||||
|
||||
## Pending inputs
|
||||
- Latest demo run metrics and dashboards (JSON export)
|
||||
- Runbook updates (alerts, SLOs) based on demo
|
||||
- Hashes of exported dashboards/runbook files
|
||||
|
||||
## Determinism checklist
|
||||
- Store dashboard export JSON under `docs/modules/graph/observability/` with SHA256 in `docs/modules/graph/observability/SHA256SUMS`.
|
||||
- Document any new runbook steps with UTC timestamps and stable ordering.
|
||||
Reference in New Issue
Block a user