{ "CI_job_history_included": false, "approvals": [], "diff_versions": [], "discussions": [ { "id": "9fb393e1da291801449f8bc61193912411d25c80", "individual_note": true, "notes": [ { "author": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "body": "Completion audit — 2026-10-02\n\nNative keyboard controls, accessible labels and a live region exist, but published rendered tests do not establish the requested keyboard flows, focus retention and complete loading/error announcements. Local commit 51978f7 adds some date activation and status announcements, and current uncommitted UI changes alter focus/dialog behaviour. Full accessibility acceptance remains to verify on the final published UI.\n\nEvidence: reviewed issue requirements/discussions and f1f0835 (published application source; live main 57a39c81 only adds Renovate configuration). Tested an isolated checkout of the published source: 20 test files, 157/157 tests passed, including the five benchmark scenarios. Local commit 51978f7 and uncommitted edits were inspected separately and are not evidence of published completion.", "commands_changes": {}, "confidential": false, "created_at": "2026-10-02T12:54:25.854Z", "id": 1752, "imported": false, "imported_from": "none", "internal": false, "noteable_id": 325, "noteable_iid": 54, "noteable_type": "Issue", "project_id": 35, "resolvable": false, "system": false, "type": null, "updated_at": "2026-10-02T12:54:25.854Z" } ], "resolvable": false }, { "id": "a9ca1e9072e8c234f55e0486cc3f5eebb6015244", "individual_note": true, "notes": [ { "author": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "body": "Implemented with $luna-verified-implement and independently verified.\n\nExplanation and trace controls support keyboard navigation, stable focus, live announcements, meaningful date/status text, collapsed technical detail, and supported responsive widths.\n\nValidation: 198/198 tests across 23 files, app/spec TypeScript checks, ESLint, and production build pass. Chromium keyboard, focus-restoration, background comparison, and responsive checks at 375/768/1440 pixels pass with no page errors. Original benchmark outcomes match the pre-change baseline in all five scenarios, with and without tracing.\n\nThe implementation is in the local working tree based on 0ce33cc9d6fe7381965a9162571abe205d0b7350; no commit or push has been made.", "commands_changes": {}, "confidential": false, "created_at": "2026-10-03T13:17:34.300Z", "id": 1874, "imported": false, "imported_from": "none", "internal": false, "noteable_id": 325, "noteable_iid": 54, "noteable_type": "Issue", "project_id": 35, "resolvable": false, "system": false, "type": null, "updated_at": "2026-10-03T13:17:34.300Z" } ], "resolvable": false }, { "id": "2bf3a91c4d37eef57de3bc2785c3648ffd3def31", "individual_note": true, "notes": [ { "author": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "body": "mentioned in issue #46", "commands_changes": {}, "confidential": false, "created_at": "2026-10-03T14:23:33.221Z", "id": 1885, "imported": false, "imported_from": "none", "internal": false, "noteable_id": 325, "noteable_iid": 54, "noteable_type": "Issue", "project_id": 35, "resolvable": false, "system": true, "type": null, "updated_at": "2026-10-03T14:23:33.222Z" } ], "resolvable": false } ], "format_version": 1, "notes": [ { "author_id": 8, "change_position": null, "commit_id": null, "confidential": null, "created_at": "2026-10-02T12:54:25.854144", "discussion_id": "9fb393e1da291801449f8bc61193912411d25c80", "id": 1752, "imported_from": 0, "internal": false, "last_edited_at": null, "line_code": null, "namespace_id": null, "note": "Completion audit — 2026-10-02\n\nNative keyboard controls, accessible labels and a live region exist, but published rendered tests do not establish the requested keyboard flows, focus retention and complete loading/error announcements. Local commit 51978f7 adds some date activation and status announcements, and current uncommitted UI changes alter focus/dialog behaviour. Full accessibility acceptance remains to verify on the final published UI.\n\nEvidence: reviewed issue requirements/discussions and f1f0835 (published application source; live main 57a39c81 only adds Renovate configuration). Tested an isolated checkout of the published source: 20 test files, 157/157 tests passed, including the five benchmark scenarios. Local commit 51978f7 and uncommitted edits were inspected separately and are not evidence of published completion.", "noteable_id": 325, "noteable_type": "Issue", "organization_id": null, "original_position": null, "position": null, "project_id": 35, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "review_id": null, "source_iid": 54, "source_item_project_id": 35, "st_diff": null, "system": false, "type": null, "updated_at": "2026-10-02T12:54:25.854144", "updated_by_id": null }, { "author_id": 8, "change_position": null, "commit_id": null, "confidential": null, "created_at": "2026-10-03T13:17:34.300218", "discussion_id": "a9ca1e9072e8c234f55e0486cc3f5eebb6015244", "id": 1874, "imported_from": 0, "internal": false, "last_edited_at": null, "line_code": null, "namespace_id": null, "note": "Implemented with $luna-verified-implement and independently verified.\n\nExplanation and trace controls support keyboard navigation, stable focus, live announcements, meaningful date/status text, collapsed technical detail, and supported responsive widths.\n\nValidation: 198/198 tests across 23 files, app/spec TypeScript checks, ESLint, and production build pass. Chromium keyboard, focus-restoration, background comparison, and responsive checks at 375/768/1440 pixels pass with no page errors. Original benchmark outcomes match the pre-change baseline in all five scenarios, with and without tracing.\n\nThe implementation is in the local working tree based on 0ce33cc9d6fe7381965a9162571abe205d0b7350; no commit or push has been made.", "noteable_id": 325, "noteable_type": "Issue", "organization_id": null, "original_position": null, "position": null, "project_id": 35, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "review_id": null, "source_iid": 54, "source_item_project_id": 35, "st_diff": null, "system": false, "type": null, "updated_at": "2026-10-03T13:17:34.300218", "updated_by_id": null }, { "author_id": 8, "change_position": null, "commit_id": null, "confidential": null, "created_at": "2026-10-03T14:23:33.221527", "discussion_id": "2bf3a91c4d37eef57de3bc2785c3648ffd3def31", "id": 1885, "imported_from": 0, "internal": false, "last_edited_at": null, "line_code": null, "namespace_id": null, "note": "mentioned in issue #46", "noteable_id": 325, "noteable_type": "Issue", "organization_id": null, "original_position": null, "position": null, "project_id": 35, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "review_id": null, "source_iid": 54, "source_item_project_id": 35, "st_diff": null, "system": true, "type": null, "updated_at": "2026-10-03T14:23:33.222475", "updated_by_id": null } ], "preexisting_missing_alternate_head": false, "source_assignees": [], "source_author": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "source_created_at": "2026-08-30T18:20:18.438Z", "source_discussion_locked": null, "source_id": 325, "source_iid": 54, "source_item_metadata": { "assignee": null, "assignees": [], "author": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "closed_at": "2026-10-03T13:17:34.859Z", "closed_by": { "avatar_url": "https://secure.gravatar.com/avatar/4657567e632c1ae9940f03534ba102a8a0321e4278100cbef34f0ff2d5e4eb72?s=80&d=identicon", "id": 8, "locked": false, "name": "nessar", "public_email": null, "state": "active", "username": "nessar", "web_url": "https://gitlab.nessar.fr/nessar" }, "confidential": false, "created_at": "2026-08-30T18:20:18.438Z", "description": "## Parent\n\n#46\n\n## What to build\n\nMake every plan explanation, calculation trace, incomplete state, and conflict explanation usable without a pointer or color perception. Keyboard and screen-reader users can navigate steps, dates, before/after state, candidate details, and loading or error states while retaining stable focus and equivalent meaning.\n\n## Acceptance criteria\n\n- [ ] First, previous, next, and last controls are keyboard operable and expose the current step semantically.\n- [ ] Calendar dates can be focused and activated without a pointer.\n- [ ] The before/after control and expandable candidate or technical details are keyboard operable.\n- [ ] Focus remains on a meaningful control when steps, dates, trace readiness, or outcome states change.\n- [ ] Selected placement, selected decision, current date, status, and before/after state have accessible names.\n- [ ] Loading completion, trace failure, counterfactual failure, incomplete calculation, and conflict are announced without stealing focus.\n- [ ] Chosen, rejected, not-examined, ineligible, added, moved, and removed states use text or icons in addition to color.\n- [ ] Muted dates outside the horizon are distinguishable as context and not selectable candidates.\n- [ ] Explanation and trace remain usable at the existing supported responsive widths.\n- [ ] Rendered tests cover keyboard flows, focus retention, accessible names, live announcements, and non-color status equivalents using existing tooling.\n\n## Blocked by\n\n- #51 — Explorer une décision de trace sur le calendrier\n- #52 — Expliquer un calcul incomplet\n- #53 — Expliquer un conflit d’obligations", "discussion_locked": null, "downvotes": 0, "due_date": null, "has_tasks": false, "id": 325, "iid": 54, "imported": false, "imported_from": "none", "issue_type": "issue", "labels": [], "merge_requests_count": 0, "milestone": null, "moved_to_id": null, "project_id": 35, "references": { "full": "nessar/vac-optimizer#54", "relative": "#54", "short": "#54" }, "service_desk_reply_to": null, "severity": "UNKNOWN", "start_date": null, "state": "closed", "task_completion_status": { "completed_count": 0, "count": 10 }, "time_stats": { "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 }, "title": "Rendre l’explication accessible", "type": "ISSUE", "updated_at": "2026-10-03T13:17:34.862Z", "upvotes": 0, "user_notes_count": 2, "web_url": "https://gitlab.nessar.fr/nessar/vac-optimizer/-/work_items/54" }, "source_kind": "Issue", "source_path": "nessar/vac-optimizer", "source_project_id": 35, "source_reviewers": [], "source_updated_at": "2026-10-03T13:17:34.862Z", "state_events": [ { "close_after_error_tracking_resolve": false, "close_auto_resolve_prometheus_alert": false, "created_at": "2026-10-03T13:17:34.89785+00:00", "epic_id": null, "id": 626, "imported_from": 0, "issue_id": 325, "merge_request_id": null, "namespace_id": 38, "source_commit": null, "source_merge_request_id": null, "state": 2, "user_id": 8 } ], "target_number": 54 }