site: trace reviewed field evidence to exact ARSAS releases - #369
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 623c7f396e
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| elif profile["services"][record["service"]] != record["result"]: | ||
| errors.append(f"{rid}: reviewed result differs from the profile service status") |
There was a problem hiding this comment.
Preserve each release record's own outcome
When the same profile/service produces different outcomes on two releases—for example, conditional on v1.6.40 and verified on v1.6.41—this comparison forces both immutable ledger records to equal the profile's single mutable status, so one valid historical result must be rejected or rewritten. That defeats release-specific traceability and can erase regressions or improvements; validate each record's result vocabulary independently and keep any aggregate profile status separately derived.
AGENTS.md reference: AGENTS.md:L11-L17
Useful? React with 👍 / 👎.
| for profile in profiles: | ||
| if isinstance(profile, dict) and isinstance(profile.get("lastRetest"), dict): | ||
| last = profile["lastRetest"] | ||
| if not any(record.get("profileId") == profile["id"] and record.get("testDate") == last.get("date") and record.get("arsasVersion") == last.get("arsasVersion") and record.get("publicEvidenceUrl") in last.get("evidenceLinks", []) for record in reviewed if isinstance(record, dict)): |
There was a problem hiding this comment.
Require current records to update the profile retest
When the first accepted record targets the current stable release but its profile still has lastRetest: null, this one-way check skips the profile and the global state becomes documented-with-reviewed-records. The compatibility-page checks still require that profile to say data-current-stable-retest="not-documented", allowing contradictory public claims; require every matching current-release record to establish a corresponding lastRetest and updated page state, not only the reverse association.
AGENTS.md reference: AGENTS.md:L178-L178
Useful? React with 👍 / 👎.
R6.5 — Evidence-to-Release Traceability
Builds on production-verified R6.4 (#368), exact baseline
b505e95f1ddb14b7460d343a64d4ccd211716e1f. Rollback checkpoint:checkpoint/site-r6.4-merged-b505e95f.Public evidence boundary
releaseTraceabilityledger tolanding/device-evidence.jsonwith zero accepted release-specific field-test records today; no inferred historical-version backfill or invented retest.latest.jsonalone supplies current stable version, release tag, source commit, release URL and package identity.Regression protection
Scope
10 website, documentation, issue-form and validator files only. No ARSAS runtime or ARIEC61850 engine changes. No new vendor, conformance, field-test, or current-stable interoperability claim.