ci(formal): consolidate formal aggregate entry - #1788
Conversation
❓ Code Generation Drift DetectionStatus: Automated by AE-Framework Codegen |
Quality Summary
|
🔍 Verification Summary
Unlinked (top 5)- Device registration publishes enough pre-keys and emits audit log (id: device-registration-publishes-enough-pre-keys-and-emits-audit-log) test:N/A impl:N/A formal:N/A - Invalid auth tag triggers audit violation for AES-GCM envelopes (id: invalid-auth-tag-triggers-audit-violation-for-aes-gcm-envelopes) test:N/A impl:N/A formal:N/A - Session rotation stays within forward secrecy thresholds (id: session-rotation-stays-within-forward-secrecy-thresholds) test:N/A impl:N/A formal:N/ALinked examples (up to 3)- Successful reservation (id: successful-reservation) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/specs/formal/tla+/Inventory.tla) - Prevent negative stock (id: prevent-negative-stock) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/specs/formal/tla+/Inventory.tla) - Idempotent by order id (id: idempotent-by-order-id) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/2c7a516e86a0cf5fad7efa12f27079b7449cb796/specs/formal/tla+/Inventory.tla)Hit basis (tests/formal)- Test hits: title=3 id=0 tag=0 - Formal hits: title=0 id=3 tag=0Non-OK modules (top 5)- KvOnce (log: artifacts/codex/KvOnce.tlc.log.txt) - KvOnceRefinement (log: artifacts/codex/KvOnceRefinement.tlc.log.txt) - KvOnceImpl (log: artifacts/codex/KvOnceImpl.tlc.log.txt) - KvOnce (log: artifacts/codex/KvOnce.tlc.log.txt) - KvOnceRefinement (log: artifacts/codex/KvOnceRefinement.tlc.log.txt) |
CodeX Artifacts Summary
|
There was a problem hiding this comment.
Pull request overview
This PR consolidates the “formal aggregate” workflow into a reusable workflow and routes PR aggregation through formal-verify, passing metadata needed to download artifacts and (optionally) upsert a PR comment.
Changes:
- Adds a
formal-aggregatereusable workflow invocation toformal-verifyafter all verify jobs complete. - Converts
formal-aggregate.ymlfrom apull_requestworkflow to aworkflow_call+workflow_dispatchworkflow, with inputs forsource_run_idandpr_number. - Updates artifact download and PR comment upsert logic to use the provided run id / PR number.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/formal-verify.yml | Adds a formal-aggregate job that calls the reusable aggregator after formal verification jobs. |
| .github/workflows/formal-aggregate.yml | Refactors the aggregator into a reusable workflow and updates artifact download/commenting to be driven by inputs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2c7a516e86
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
CI Status Snapshot (2026-01-27T12:03:10.545Z)
|
|
レビューコメント対応しました。
コンフリクトはありません(mergeable)。 |
❓ Code Generation Drift DetectionStatus: Automated by AE-Framework Codegen |
🔍 Verification Summary
Unlinked (top 5)- Device registration publishes enough pre-keys and emits audit log (id: device-registration-publishes-enough-pre-keys-and-emits-audit-log) test:N/A impl:N/A formal:N/A - Invalid auth tag triggers audit violation for AES-GCM envelopes (id: invalid-auth-tag-triggers-audit-violation-for-aes-gcm-envelopes) test:N/A impl:N/A formal:N/A - Session rotation stays within forward secrecy thresholds (id: session-rotation-stays-within-forward-secrecy-thresholds) test:N/A impl:N/A formal:N/ALinked examples (up to 3)- Successful reservation (id: successful-reservation) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/specs/formal/tla+/Inventory.tla) - Prevent negative stock (id: prevent-negative-stock) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/specs/formal/tla+/Inventory.tla) - Idempotent by order id (id: idempotent-by-order-id) test: [traceability/inventory.trace.test.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/tests/traceability/inventory.trace.test.ts) impl: [domain/inventory.ts](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/src/domain/inventory.ts) formal: [tla+/Inventory.tla](https://github.com/itdojp/ae-framework/blob/02afd9e30745ebb3a42ee11f5cbdb357dfce8b07/specs/formal/tla+/Inventory.tla)Hit basis (tests/formal)- Test hits: title=3 id=0 tag=0 - Formal hits: title=0 id=3 tag=0Non-OK modules (top 5)- KvOnce (log: artifacts/codex/KvOnce.tlc.log.txt) - KvOnceRefinement (log: artifacts/codex/KvOnceRefinement.tlc.log.txt) - KvOnceImpl (log: artifacts/codex/KvOnceImpl.tlc.log.txt) - KvOnce (log: artifacts/codex/KvOnce.tlc.log.txt) - KvOnceRefinement (log: artifacts/codex/KvOnceRefinement.tlc.log.txt) |
CodeX Artifacts Summary
|
|
レビュー本文(Copilot/Codex)は概要のみで追加対応不要と判断しました。インライン指摘は対応済みです。 |
Summary\n- make formal-aggregate reusable and route PR aggregation through formal-verify\n- pass source run id + PR number for artifact download and comment upsert\n- keep manual dispatch by allowing run id input\n\n## Testing\n- not run (workflow change)