Skip to content

feat(views): add ephemeral PQC worklist contract - #125

Merged
chubirka merged 2 commits into
developmentfrom
feat/pqc-worklist-view-fnfe42sg
Nov 7, 2026
Merged

chubirka merged 2 commits into
developmentfrom
feat/pqc-worklist-view-fnfe42sg

Conversation

@chubirka

@chubirka chubirka commented Nov 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Add only the ephemeral views_schema/v1/pqc-worklist.schema.json contract, preserving all legacy nested liveness/scan/null/raw fields and explicit scope metadata.
  • Require serialized fields and strict object boundaries; keep raw strings unconstrained and distinguish null scope/observations from empty scope/measured false.
  • Add behavioral schema acceptance/rejection coverage and document Core ownership in the existing README.
  • No artifact, storage, enum registry, generated binding, or version changes.

Verification

  • make setup once, make lint-fix: passed.
  • make test on SQLite plus isolated PostgreSQL database pqc_contracts_fnfe42sg at private port 60395: 1500 passed, 1 skipped (SQLite writer serialization case).
  • Normal commit and push hooks enabled; full pre-push lint/format/tests passed.
  • uv build built wheel and source distribution. Installed the built wheel into an isolated environment; new packaged schema equals local source and validates full nested, empty-scope, unknown-scan and hostile-string documents, rejecting unexpected fields.

Dependency note

This feature PR targets development only. Core currently pins the older contracts baseline 620b83849a32dd3cc48980944286411bd485e9fa with remediation/order storage resources. A separate temporary compatibility ref will cherry-pick only this feature commit onto that exact baseline; it is not a merge of development, has no integration PR, and does not resolve the separate owner dependency reconciliation.

@chubirka
chubirka requested a review from a team as a code owner November 6, 2026 22:56
@openshift-ci

openshift-ci Bot commented Nov 6, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: chubirka

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 6, 2026
@qodo-for-traust-sci

Copy link
Copy Markdown

PR Summary by Qodo

Add an ephemeral PQC worklist view contract

✨ Enhancement 🧪 Tests 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Define a packaged PQC worklist schema with explicit scope and preserved legacy entry data.
• Distinguish unknown states from measured values without restricting raw historical strings.
• Test accepted and rejected documents and document Core’s ownership of worklist behavior.
Diagram

graph TD
  Core["Core worklist"] --> View["Ephemeral wrapper"] --> Entries["Worklist entries"] --> Access["Liveness data"]
  Entries --> Scan["Scan state"]
  Schema["PQC schema"] --> View
  View --> Consumer["Core consumers"]
Loading
High-Level Assessment

Keep this as a data-only view schema, consistent with the existing ephemeral view contract. Putting worklist behavior in contracts or modeling the view as a persisted artifact would blur Core ownership and add storage semantics this change does not need.

Files changed (3) +355 / -0

Enhancement (1) +92 / -0
pqc-worklist.schema.jsonDefine the ephemeral PQC worklist JSON Schema +92/-0

Define the ephemeral PQC worklist JSON Schema

• Adds a strict Draft 2020-12 wrapper with explicit product and ref scope, chokepoints, and entries containing nested liveness and nullable scan state. Requires serialized fields while retaining nullable observations and unconstrained historical strings.

views_schema/v1/pqc-worklist.schema.json

Tests (1) +239 / -0
test_pqc_worklist_view.pyExercise PQC worklist schema acceptance and rejection +239/-0

Exercise PQC worklist schema acceptance and rejection

• Adds validation cases for required and unknown fields, scope and nullable states, existing tiers and routes, and unrestricted raw strings. Rejects invalid identifiers, timestamps, types, and vocabulary values.

tests/test_pqc_worklist_view.py

Documentation (1) +24 / -0
README.mdDocument PQC worklist semantics and Core ownership +24/-0

Document PQC worklist semantics and Core ownership

• Explains scope selection, required nested data, nullable observations, and the treatment of raw strings. Clarifies that Core owns production and rendering, while the view is neither persisted nor a replacement for the legacy CLI output.

README.md

@qodo-for-traust-sci

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can switch off images and animations for a plain-text comment

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@chubirka
chubirka merged commit da22182 into development Nov 7, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant