feat(ui): add assignment history read states - #143
Draft
seonghobae wants to merge 8 commits into
Draft
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Buyer-visible slice
Protected product planning names Employee Profile with bitemporal Assignment history as a P1 HRIS surface. Backend PR #142 owns the purpose-bound Assignment-history read contract; this dependency-first UI lane owns presentation/interaction only. It does not import that unmerged backend package, mutate Assignment truth, introduce cross-service SQL, or create a parallel People API owner.
Design and governed interaction
Fresh Figma
Orgmetra BaselineStorybook Inventory node1:64was re-read on 2026-08-28. It continues to require default, hover, focus, disabled, loading, validation-error, read-only, and high-risk-confirmation behavior. This slice reuses the existing Orgmetra design/focus tokens and Storybook conventions rather than introducing parallel geometry or a second design system.The bounded state model is
idle / loading / ready(read-only) / empty / denied / stale / scopeBlocked / error.readyexplains the bitemporal distinction: effective time is when an Assignment fact applied; system-recorded time is when Orgmetra knew it. The state is read-only, does not authorize Assignment mutation, and does not infer worker status beyond the exact requestedknown_atsnapshot.emptyexplicitly states that no visible Assignment at one authorized coordinate is not evidence of no Employment or no Assignment evidence outside that coordinate.stale,scopeBlocked,denied, anderrorfail closed with concrete next actions instead of falling back to cached/partial evidence or broadening requested fields.constructor,toString, and__proto__.Current WCAG 2.2 and WAI-ARIA 1.2 primary references and active-PR/protected-main distinctions are recorded under
docs/doctoringanddocs/traceability.Test-first sequence
Contract-first head
838bea43b6264d2cc1148c5acacea3a64319c76aintroduced the regression and dedicated exact-coverage workflow before the production state model existed. Its hosted run33146871285was cancelled after the branch advanced under concurrency, so it is not claimed as terminal RED evidence.Production, Storybook, CSS, doctoring, and traceability were then implemented on the same canonical branch without weakening the contract.
Exact-current-head evidence
Recorded base: #130
feat/hr-workspace-protected-read-state@68896baa692ecf6fec8f21cfe5d981440be6071c.Current #130 head is c92749c (PR #130 remains open and unmerged). Current exact child head:
b7fdd493809545a7fd562fb6464b09c853739149.GitHub reports this PR open · Draft · mergeable.
Assignment history state contractrun33198343313, job98941173734, is terminal GREEN on exact child headb7fdd493809545a7fd562fb6464b09c853739149; GitHub's job metadata binds that run/job tohead_sha=b7fdd493809545a7fd562fb6464b09c853739149. The run passed all 6 focused interaction/privacy/fail-closed regressions with exact 100% line/branch/function coverage and a clean checkout.b7fdd493809545a7fd562fb6464b09c853739149;24.19.0;apps/hr-workspace/assignment-history-state.jsand the owned total at 100.00% line / 100.00% branch / 100.00% function coverage; andFresh submitted reviews and inline review threads are both empty. This GREEN is stack-local focused evidence only; no #130 or #142 check/review transfers and it is not protected-main integration evidence.
Dependency / merge governance
Keep Draft and process #53 → #130 dependency-first. After those parents actually integrate, retarget/revalidate this child against fresh
develop, reconcile then-current Employee Profile and #142 backend truth, and rerun every applicable browser/accessibility/Foundation/Recovery/SAST/Security plus central required workflow on one resulting exact head.Do not self-approve, use routine administrator bypass, race another lifecycle writer, treat read-only Assignment history as mutation or employment-decision authority, transfer predecessor/parent evidence, or mutate a dedicated-writer dependency.