Console shell planning examination
The examination reviews the draft at the pinned code revisions and writes its final product wording. The requested report name retains the draft’s date; the actual examination takes place on the following day. No product approval is inferred from implementation or from a test title.
What is examined
| Artifact or row collection | Examined / total | Result |
|---|---|---|
| Existing module files | 50/50 | Human prose and structured human descriptions are rewritten; existing identifiers remain permanent |
| Added planning files | 2/2 | A record-reference capability and matching acceptance set supply the omitted outcome |
| Features | 4/4 | Names and grouping only |
| Key concepts | 4/4 | Broad nouns with facets, six sections each and 400–900 words each |
| Capabilities | 18/18 | Outcomes within the module target; no table or CRUD capability requires retirement |
| Rule rows | 155/155 | Sources, provenance, origin and enforcement boundaries reviewed |
| Capability examples | 38/38 | Examples aligned with source strength |
| Journeys | 5/5 | Steps, branches, failures and assertions rewritten and checked |
| Journey assertions | 16/16 | Broad claims narrowed where evidence proves a different example |
| Acceptance sets and scenarios | 18/18 sets; 95/95 scenarios | 46 bound and 49 proposed |
| Actor rows allocated by this module | 0/0 | No rows were added by the draft; five shared actors are reused and the shared register remains unchanged |
| Findings and material questions | 34/34 findings; 3/3 questions | Evidence and unresolved choices remain visible |
The grain remains four concepts and eighteen capabilities. Existing outcomes stay in place; the newly covered record-reference outcome has its own acceptance set. Header return behavior and custom-placement eligibility each have one rule home, while journeys refer to the governing rules through their structured references.
Source and coverage audit
Repository heads match the required pins throughout the examination. The source audit resolves 556 explicit repository-prefixed source, origin and binding references to 76 directly parsed files, with no missing file or test-title result. Broader evidence lists and imported dependencies are reviewed in addition to that direct-reference count; existence alone is not treated as proof of a statement.
| Surface | Examined or assigned / total | Coverage | Uncovered by name |
|---|---|---|---|
| Shell pages and layouts | 7/7 | Frame, starting page, compatibility entry, workspace entry, home, planned destination and application overview | None |
| Platform operations called by the shell | 7/7 | Three Security reads, three Metadata reads and the administrator application read | None; service ownership remains external |
| Named permission references in frame and catalogues | 145/145 | Generic navigation and authority rules; every resolved key appears in the structured coverage list | None in the examined constant references |
| Shared console permission registry | 1026/1026 subject to the shared evaluator | Alias, synthetic-key, deny and scope behavior | Individual business actions belong to their product modules |
| Referenced console browser files | 10/10 | Static source examination, with unsupported bindings removed | Passing product runs are not recorded |
| Direct shell and integration unit files | 20/20 | Route guards, navigation, records, layout, application access, shortcuts and home errors | No omitted file after the additions |
| Security unit dependencies | 3/3 assigned | Boot, context parsing and strict workspace identity | Security owns their full specifications |
| Licensing API operations | 10/10 assigned | Operations owns the staff and synchronization operations | No shell-owned licensing operation |
| Licensing tables | 9/9 assigned | Operations owns all tables, including export entitlements | No shell-owned business table |
| Licensing queue, dead-letter queue and nightly schedule | 3/3 assigned | Operations owns synchronization and reconciliation | No shell-owned queue, schedule or state machine |
| Licensing product test files | 39/39 assigned | Operations owns the module suites; selected administrator API tests support this layer | Product suites are not executed here |
| Must-prove rules with scenarios | 98/109 | Remaining names are listed below and in the proof finding | 11 rules still need scenarios |
| Must-prove rules with test bindings | 49/109 | Static binding audit only | 60 rules lack complete bindings |
| Earlier shell acceptance inventory seeds | 0/0 | No seed numbering is continued | None found |
Entry points and called operations
| Entry or operation | Capability coverage |
|---|---|
| Outer console layout | CAP-PFM-CSH-001, CAP-PFM-CSH-013 |
| Bare starting page | CAP-PFM-CSH-004, CAP-PFM-CSH-012, CAP-PFM-CSH-013 |
| Compatibility catch-all | CAP-PFM-CSH-012 |
| Workspace layout | CAP-PFM-CSH-010, CAP-PFM-CSH-015 |
| Workspace home | CAP-PFM-CSH-004 |
| Planned-page catch-all | CAP-PFM-CSH-009, CAP-PFM-CSH-015 |
| Configuration home | CAP-PFM-CSH-017 |
getMySecurityContext | CAP-PFM-CSH-001, CAP-PFM-CSH-010, CAP-PFM-CSH-013 |
getMySecurityContextInTenant | CAP-PFM-CSH-011, CAP-PFM-CSH-013 |
getMyApplications | CAP-PFM-CSH-016 |
listTenantApplicationsForTenant | CAP-PFM-CSH-017 |
getCustomObjectsNavigation, listCustomObjects, listCustomApps | CAP-PFM-CSH-008 |
Browser files
| Pinned browser file | Examination coverage |
|---|---|
e2e/controlled/staff-deep-link.controlled.spec.ts | Staff context and landing |
e2e/controlled/tenant-unavailable.controlled.spec.ts | Workspace destination and compatibility behavior |
e2e/dev/hq-licensing.dev.spec.ts | Customer application overview; staff mutations belong to Operations |
e2e/dev/initialisation.dev.spec.ts | Initial access boundary |
e2e/dev/url-architecture.dev.spec.ts | Workspace destination and compatibility behavior |
e2e/layout/page-layouts.spec.ts | Page room |
e2e/mock/application-access.mock.spec.ts | Application presentation and refresh |
e2e/mock/custom-object-navigation.mock.spec.ts | Custom placements |
e2e/mock/staff-landing.mock.spec.ts | Staff context and landing |
e2e/mock/url-architecture.mock.spec.ts | Workspace destination and compatibility behavior |
Unit files
| Pinned unit file | Capability suffixes or owner |
|---|---|
lib/routes/__tests__/routes.test.ts | 009, 011 |
lib/routes/__tests__/guards.test.ts | 009 |
lib/routes/__tests__/legacy.test.ts | 012 |
lib/routes/__tests__/eligibility-redirect.test.ts | 009 |
lib/console/__tests__/registries.test.ts | 006, 007, 018 |
lib/console/__tests__/settings-area-menu.test.ts | 007 |
lib/console/__tests__/orders-nav.test.ts | 007 |
lib/console/__tests__/record-destination.test.ts | 018 |
lib/console/application-guard.test.ts | 014, 015 |
components/console/__tests__/page-layout.test.tsx | 002 |
components/console/__tests__/page-layout-adoption.test.ts | 002 |
components/console/__tests__/tenant-id-gate.test.tsx | 010 |
components/console/home/__tests__/dashboard-state.test.tsx | 004 |
lib/security-context/entitlements.test.ts | 014 |
lib/security-context/application-refusal.test.ts | 016 |
lib/applications/availability.test.ts | 017 |
lib/custom-objects/__tests__/navigation.test.ts | 006, 008 |
lib/quick-search/__tests__/shortcut.test.ts | 003 |
lib/authz/__tests__/authz.test.ts | 014 |
lib/authz/__tests__/backend-aliases.test.ts | 007, 014 |
lib/security-context/boot.test.ts | Security dependency; entry integration in 010, 012, 013 |
lib/security-context/context.test.ts | Security dependency; staff context in 013 |
lib/security-context/tenant-id.test.ts | Security dependency; strict entry in 010 |
Rules still without an acceptance scenario
Verification changes by artifact
Every existing planning artifact receives final OpenAI wording in a rewrite commit separate from its verification. Later source discoveries are committed as additional verification units. The structured verification audit records every changed protected field with its previous and final values; unchanged identifiers, source pins and supersession values are preserved.
| Capability | Fact and evidence corrections |
|---|---|
CAP-PFM-CSH-001 | Separates missing setup from request-failure recovery; records fixed sample-money arithmetic; aligns start-up scenario evidence; moves the home-return target policy to the home capability. |
CAP-PFM-CSH-002 | Corrects standard width to a maximum rather than a fixed width; limits adoption claims to inspected screens; separates an approved layout requirement from universal implementation; requires proof of stored navigation preference. |
CAP-PFM-CSH-003 | Separates shortcut recognition from permission handling so pure chord tests do not claim browser authority; distinguishes adaptive search labels from Configuration’s fixed Command hint. |
CAP-PFM-CSH-004 | Distinguishes mock figures from the live hook’s suppressed request; covers error classification and unguarded percentage arithmetic; distinguishes customer landing from staff landing. |
CAP-PFM-CSH-005 | Corrects single-word initials and the actual help destination; adds rating and details-limit validation; retains the observed lack of feedback delivery and Profile behavior. |
CAP-PFM-CSH-006 | Records the filter exception to single-section expansion; places static built-screen eligibility here and custom-placement eligibility in the custom-navigation capability; corrects scenario examples and partial test bindings. |
CAP-PFM-CSH-007 | Corrects Configuration entry to its first configured destination and treats return behavior as observation; separates page refusal from menu visibility; adds the tested Orders store entry and price-schedule exclusion. |
CAP-PFM-CSH-008 | Records actual application, group and label ordering; distinguishes server navigation from list fallback and pending or failed reads; uses the real implementation symbols, corrects the backend file for the navigation read and assigns custom-placement eligibility one rule home. |
CAP-PFM-CSH-009 | Names explicit non-console and preview exceptions; limits literal-path and page-inventory claims to the guard scope; distinguishes supported query retention from deliberate switch query removal. |
CAP-PFM-CSH-010 | Separates helper results from rendered refusal and recovery; sources strict fresh entry from the provider and boot path; removes unsupported confirmation of the refusal interval and requires proof of remaining validations. |
CAP-PFM-CSH-011 | Corrects confirmation timing and cache-clear timing; separates customer remembered landing from staff HQ landing; requires proof for selection calculation, no-op selection and persisted workspace memory. |
CAP-PFM-CSH-012 | Limits the compatibility unit binding to enumerated cases; leaves unsupported no-workspace behavior proposed; includes boot evidence for reopening remembered staff context. |
CAP-PFM-CSH-013 | Keeps mixed staff-mode observations proposed while retaining decision origins for HQ landing and cleared direct entry; removes broad bindings that do not prove the whole frame and navigation. |
CAP-PFM-CSH-014 | Defines keyless domains by missing backend aliases rather than missing deployed catalogue keys; covers scoped grants and authoritative backend allowed keys; distinguishes normalized deny precedence from stale-rule normalization and corrects test fixtures. |
CAP-PFM-CSH-015 | Requires an enabled alternative application and a usable task permission; separates pure decisions from rendered denial; leaves transition and composite browser outcomes proposed. |
CAP-PFM-CSH-016 | Requires proof of partial-context replacement and concurrent refresh behavior; records the cross-workspace in-flight request risk and Security’s full-context read dependency. |
CAP-PFM-CSH-017 | Separates console view authority from tested API authority; covers explicit reach, disabled-workspace reads and sanitized answers; adds date, parser and permissive availability-default proof; corrects the HQ browser test to what it actually asserts. |
CAP-PFM-CSH-018 | Adds the omitted record-reference outcome, covering built-in guards, parent-dependent refusal, encoding, unknown-type behavior and custom fallback without a resource scope. |
| Other artifact | Final work |
|---|---|
FEAT-PFM-CSH-01 through FEAT-PFM-CSH-04 | Final grouping titles, purposes and outcomes; mixed observations remain proposed |
CON-PFM-CSH-001 | Startup recovery distinguishes absent configuration from access refusal and request failure |
CON-PFM-CSH-002 | Filtering is distinguished from ordinary single-section navigation |
CON-PFM-CSH-003 | Other runtimes and preview exceptions are named; catalogue guard coverage is bounded |
CON-PFM-CSH-004 | Licence exemption is distinguished from withholding; missing aliases are distinguished from missing service permissions; application access is separated from task authority |
JNY-PFM-CSH-001 | Home content and failure recovery use observed sources; customer and staff starting cases remain distinct |
JNY-PFM-CSH-002 | Configuration enters Fields, not the application overview; Regions and return claims use their actual evidence |
JNY-PFM-CSH-003 | Contact-specific sign-in and history portions remain documented where browser tests exercise another destination |
JNY-PFM-CSH-004 | Confirmation precedes successful entry; strict URL entry and remembered customer landing use the actual provider path |
JNY-PFM-CSH-005 | The logo supplies the home return; overview explanations and console refusal use observed sources |
ATS-PFM-CSH-001 through ATS-PFM-CSH-018 | All human scenario fields rewritten; coverage tables distinguish bindings, proposals and missing scenarios; added scenarios cover omitted calculations, normalization, API boundaries and record references |
MOD-PFM-CSH | Scope, ownership and coverage denominators corrected; the registry status becomes planning examined |
| Module identifier register | New IDs reserved before authoring; count ranges reconciled without renumbering any existing artifact or row |
| Module findings register | Every finding and question receives final wording; sample-dashboard and historical-test overclaims corrected; findings 025–034 record examination discoveries |
| Shared Platform actor register | No module-added row exists and no unrelated row is changed |
Changed bindings
| Acceptance scenario | Binding change |
|---|---|
ATS-PFM-CSH-012-01 | 1 → 1 bindings |
ATS-PFM-CSH-012-04 | 1 → 0 bindings |
ATS-PFM-CSH-007-01 | 3 → 0 bindings |
ATS-PFM-CSH-007-02 | 1 → 0 bindings |
ATS-PFM-CSH-007-05 | 1 → 0 bindings |
ATS-PFM-CSH-008-03 | 1 → 2 bindings |
ATS-PFM-CSH-008-04 | 2 → 0 bindings |
ATS-PFM-CSH-008-05 | 1 → 0 bindings |
ATS-PFM-CSH-011-01 | 2 → 1 bindings |
ATS-PFM-CSH-011-02 | 1 → 0 bindings |
ATS-PFM-CSH-001-02 | 1 → 0 bindings |
ATS-PFM-CSH-017-01 | 3 → 3 bindings |
ATS-PFM-CSH-006-05 | 2 → 0 bindings |
ATS-PFM-CSH-006-07 | 1 → 0 bindings |
ATS-PFM-CSH-002-02 | 3 → 0 bindings |
ATS-PFM-CSH-002-04 | 2 → 0 bindings |
ATS-PFM-CSH-010-01 | 1 → 0 bindings |
ATS-PFM-CSH-010-03 | 6 → 0 bindings |
ATS-PFM-CSH-010-04 | 2 → 0 bindings |
ATS-PFM-CSH-010-05 | 2 → 0 bindings |
ATS-PFM-CSH-013-01 | 1 → 0 bindings |
ATS-PFM-CSH-009-03 | 3 → 0 bindings |
ATS-PFM-CSH-009-04 | 3 → 2 bindings |
ATS-PFM-CSH-009-05 | 2 → 1 bindings |
ATS-PFM-CSH-015-02 | 2 → 0 bindings |
ATS-PFM-CSH-015-04 | 2 → 0 bindings |
Changed protected metadata
| Artifact | Row | Field | Change |
|---|---|---|---|
JNY-PFM-CSH-001 | steps 3 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-001 | steps 3 | provenance | test → observed |
JNY-PFM-CSH-001 | failures 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-001 | failures 1 | provenance | test → observed |
JNY-PFM-CSH-004 | artifact | product_intent | confirmed → proposed |
JNY-PFM-CSH-004 | steps 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | steps 2 | provenance | test → observed |
JNY-PFM-CSH-004 | steps 4 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | steps 4 | provenance | test → observed |
JNY-PFM-CSH-004 | steps 5 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | steps 5 | provenance | test → observed |
JNY-PFM-CSH-004 | failures 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | failures 1 | provenance | test → observed |
JNY-PFM-CSH-004 | failures 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | failures 2 | provenance | test → observed |
JNY-PFM-CSH-004 | AS-JNY-PFM-CSH-004-02 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | AS-JNY-PFM-CSH-004-02 | provenance | test → observed |
JNY-PFM-CSH-004 | AS-JNY-PFM-CSH-004-03 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-004 | AS-JNY-PFM-CSH-004-03 | provenance | test → observed |
JNY-PFM-CSH-005 | artifact | product_intent | confirmed → proposed |
JNY-PFM-CSH-005 | steps 3 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-005 | steps 3 | provenance | test → observed |
JNY-PFM-CSH-005 | alternates 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-005 | alternates 1 | provenance | test → observed |
JNY-PFM-CSH-005 | failures 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-005 | failures 1 | provenance | test → observed |
JNY-PFM-CSH-005 | AS-JNY-PFM-CSH-005-03 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-005 | AS-JNY-PFM-CSH-005-03 | provenance | test → observed |
JNY-PFM-CSH-003 | artifact | product_intent | confirmed → proposed |
JNY-PFM-CSH-003 | steps 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | steps 1 | provenance | test → documented |
JNY-PFM-CSH-003 | steps 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | steps 2 | provenance | test → observed |
JNY-PFM-CSH-003 | steps 3 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | steps 3 | provenance | test → documented |
JNY-PFM-CSH-003 | steps 4 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | steps 5 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | steps 5 | provenance | test → documented |
JNY-PFM-CSH-003 | alternates 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | alternates 2 | provenance | test → documented |
JNY-PFM-CSH-003 | failures 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-003 | failures 2 | provenance | test → observed |
JNY-PFM-CSH-003 | AS-JNY-PFM-CSH-003-02 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-002 | steps 2 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-002 | steps 2 | provenance | test → observed |
JNY-PFM-CSH-002 | failures 1 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-002 | failures 1 | provenance | test → observed |
JNY-PFM-CSH-002 | AS-JNY-PFM-CSH-002-01 | source | Exact replacement recorded in the structured verification audit |
JNY-PFM-CSH-002 | AS-JNY-PFM-CSH-002-01 | provenance | test → observed |
ATS-PFM-CSH-012 | ATS-PFM-CSH-012-01 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-012 | ATS-PFM-CSH-012-04 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-012 | ATS-PFM-CSH-012-04 | provenance | test → proposed |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-01 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-01 | provenance | test → proposed |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-02 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-02 | provenance | test → proposed |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-05 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-007 | ATS-PFM-CSH-007-05 | provenance | test → proposed |
ATS-PFM-CSH-008 | ATS-PFM-CSH-008-04 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-008 | ATS-PFM-CSH-008-04 | provenance | test → proposed |
ATS-PFM-CSH-008 | ATS-PFM-CSH-008-05 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-008 | ATS-PFM-CSH-008-05 | provenance | test → proposed |
ATS-PFM-CSH-011 | ATS-PFM-CSH-011-02 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-011 | ATS-PFM-CSH-011-02 | provenance | test → proposed |
ATS-PFM-CSH-003 | ATS-PFM-CSH-003-01 | proves | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-001 | ATS-PFM-CSH-001-02 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-001 | ATS-PFM-CSH-001-02 | provenance | test → proposed |
ATS-PFM-CSH-017 | ATS-PFM-CSH-017-01 | proves | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-017 | ATS-PFM-CSH-017-05 | proves | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-006 | ATS-PFM-CSH-006-04 | proves | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-006 | ATS-PFM-CSH-006-05 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-006 | ATS-PFM-CSH-006-05 | provenance | test → proposed |
ATS-PFM-CSH-006 | ATS-PFM-CSH-006-07 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-006 | ATS-PFM-CSH-006-07 | provenance | test → proposed |
ATS-PFM-CSH-002 | ATS-PFM-CSH-002-02 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-002 | ATS-PFM-CSH-002-02 | provenance | test → proposed |
ATS-PFM-CSH-002 | ATS-PFM-CSH-002-04 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-002 | ATS-PFM-CSH-002-04 | provenance | test → proposed |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-01 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-01 | provenance | test → proposed |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-03 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-03 | provenance | test → proposed |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-04 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-04 | provenance | test → proposed |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-05 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-010 | ATS-PFM-CSH-010-05 | provenance | test → proposed |
ATS-PFM-CSH-013 | ATS-PFM-CSH-013-01 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-013 | ATS-PFM-CSH-013-01 | provenance | test → proposed |
ATS-PFM-CSH-009 | ATS-PFM-CSH-009-03 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-009 | ATS-PFM-CSH-009-03 | provenance | test → proposed |
ATS-PFM-CSH-015 | ATS-PFM-CSH-015-02 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-015 | ATS-PFM-CSH-015-02 | provenance | test → proposed |
ATS-PFM-CSH-015 | ATS-PFM-CSH-015-02 | level | unit → browser |
ATS-PFM-CSH-015 | ATS-PFM-CSH-015-04 | source | Exact replacement recorded in the structured verification audit |
ATS-PFM-CSH-015 | ATS-PFM-CSH-015-04 | provenance | test → proposed |
CON-PFM-CSH-004 | artifact | product_intent | confirmed → proposed |
CON-PFM-CSH-003 | artifact | product_intent | confirmed → proposed |
FEAT-PFM-CSH-04 | artifact | product_intent | confirmed → proposed |
FEAT-PFM-CSH-03 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-007 | BR-CAP-PFM-CSH-007-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-007 | BR-CAP-PFM-CSH-007-03 | provenance | test → observed |
CAP-PFM-CSH-007 | BR-CAP-PFM-CSH-007-07 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-007 | BR-CAP-PFM-CSH-007-07 | provenance | test → observed |
CAP-PFM-CSH-007 | SC-CAP-PFM-CSH-007-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-007 | SC-CAP-PFM-CSH-007-01 | provenance | test → observed |
CAP-PFM-CSH-012 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-012 | SC-CAP-PFM-CSH-012-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-001 | BR-CAP-PFM-CSH-001-07 | must_prove | false → true |
CAP-PFM-CSH-001 | SC-CAP-PFM-CSH-001-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-001 | SC-CAP-PFM-CSH-001-02 | provenance | test → observed |
CAP-PFM-CSH-015 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-015 | BR-CAP-PFM-CSH-015-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-015 | BR-CAP-PFM-CSH-015-03 | provenance | test → observed |
CAP-PFM-CSH-015 | BR-CAP-PFM-CSH-015-08 | must_prove | false → true |
CAP-PFM-CSH-015 | SC-CAP-PFM-CSH-015-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-015 | SC-CAP-PFM-CSH-015-02 | provenance | test → observed |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-04 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-04 | provenance | test → observed |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-06 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-06 | provenance | test → observed |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-07 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-07 | provenance | test → observed |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-09 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-09 | provenance | test → observed |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-12 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | BR-CAP-PFM-CSH-006-12 | provenance | test → observed |
CAP-PFM-CSH-006 | SC-CAP-PFM-CSH-006-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-006 | SC-CAP-PFM-CSH-006-03 | provenance | test → observed |
CAP-PFM-CSH-005 | BR-CAP-PFM-CSH-005-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-005 | BR-CAP-PFM-CSH-005-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-011 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-03 | must_prove | false → true |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-05 | must_prove | false → true |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-07 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-07 | provenance | documented → observed |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-07 | origin | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-08 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-08 | provenance | documented → observed |
CAP-PFM-CSH-011 | BR-CAP-PFM-CSH-011-08 | must_prove | false → true |
CAP-PFM-CSH-011 | SC-CAP-PFM-CSH-011-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-009 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-009 | BR-CAP-PFM-CSH-009-01 | origin | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-009 | BR-CAP-PFM-CSH-009-05 | must_prove | false → true |
CAP-PFM-CSH-009 | BR-CAP-PFM-CSH-009-09 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-009 | BR-CAP-PFM-CSH-009-09 | provenance | documented → observed |
CAP-PFM-CSH-014 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-014 | BR-CAP-PFM-CSH-014-02 | must_prove | false → true |
CAP-PFM-CSH-014 | BR-CAP-PFM-CSH-014-05 | origin | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-014 | BR-CAP-PFM-CSH-014-06 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-014 | BR-CAP-PFM-CSH-014-06 | provenance | documented → observed |
CAP-PFM-CSH-014 | BR-CAP-PFM-CSH-014-06 | must_prove | false → true |
CAP-PFM-CSH-014 | SC-CAP-PFM-CSH-014-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-014 | SC-CAP-PFM-CSH-014-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-016 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-016 | BR-CAP-PFM-CSH-016-04 | must_prove | false → true |
CAP-PFM-CSH-016 | BR-CAP-PFM-CSH-016-05 | must_prove | false → true |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-03 | provenance | test → observed |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-05 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-05 | provenance | test → observed |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-06 | must_prove | false → true |
CAP-PFM-CSH-008 | BR-CAP-PFM-CSH-008-07 | must_prove | false → true |
CAP-PFM-CSH-010 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-010 | BR-CAP-PFM-CSH-010-06 | origin | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-010 | BR-CAP-PFM-CSH-010-08 | must_prove | false → true |
CAP-PFM-CSH-010 | BR-CAP-PFM-CSH-010-09 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-010 | BR-CAP-PFM-CSH-010-09 | provenance | test → observed |
CAP-PFM-CSH-010 | BR-CAP-PFM-CSH-010-10 | must_prove | false → true |
CAP-PFM-CSH-010 | SC-CAP-PFM-CSH-010-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-010 | SC-CAP-PFM-CSH-010-02 | provenance | test → observed |
CAP-PFM-CSH-010 | SC-CAP-PFM-CSH-010-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-010 | SC-CAP-PFM-CSH-010-03 | provenance | test → observed |
CAP-PFM-CSH-002 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-002 | BR-CAP-PFM-CSH-002-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-002 | BR-CAP-PFM-CSH-002-03 | provenance | test → observed |
CAP-PFM-CSH-002 | BR-CAP-PFM-CSH-002-03 | origin | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-002 | BR-CAP-PFM-CSH-002-07 | must_prove | false → true |
CAP-PFM-CSH-004 | BR-CAP-PFM-CSH-004-03 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-013 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-017 | artifact | product_intent | confirmed → proposed |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-01 | provenance | test → observed |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-01 | enforced_at | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-05 | must_prove | false → true |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-08 | must_prove | false → true |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-09 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-09 | must_prove | false → true |
CAP-PFM-CSH-017 | BR-CAP-PFM-CSH-017-10 | must_prove | false → true |
CAP-PFM-CSH-017 | SC-CAP-PFM-CSH-017-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-017 | SC-CAP-PFM-CSH-017-02 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-017 | SC-CAP-PFM-CSH-017-02 | provenance | test → observed |
CAP-PFM-CSH-003 | BR-CAP-PFM-CSH-003-01 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-003 | BR-CAP-PFM-CSH-003-01 | provenance | test → observed |
CAP-PFM-CSH-003 | BR-CAP-PFM-CSH-003-06 | source | Exact replacement recorded in the structured verification audit |
CAP-PFM-CSH-003 | BR-CAP-PFM-CSH-003-06 | provenance | test → observed |
Findings and disagreements retained
A boundary correction can be complete while its finding remains useful as audit history. The remaining findings retain product decisions, incomplete proof, implementation debt or differences between the records and code. No unavailable product test result is presented as a current failure.
| Finding | Disposition | Issue |
|---|---|---|
FND-PFM-CSH-001 | Boundary or seed absence accounted for; retained for audit | Licensing appears in the shell’s read boundary, while Operations owns the calculation and records. The current scope preserves that separation and claims only the console consumption of the answer. |
FND-PFM-CSH-002 | Boundary or seed absence accounted for; retained for audit | Source coverage needs the application and workspace integrations as well as the frame. The registered boundary names these implementations so subsequent examinations include their effects. |
FND-PFM-CSH-003 | Boundary or seed absence accounted for; retained for audit | Custom Apps is an administrative screen within the registered source boundary, but metadata owns its records and editing policy. This module covers how those records contribute to navigation. |
FND-PFM-CSH-004 | Boundary or seed absence accounted for; retained for audit | The inspected acceptance inventories provide no earlier shell capability or journey seed. Existing console tests supply bindings, and the module does not inherit an earlier identifier series. |
FND-PFM-CSH-005 | Open | The home-page comment describes sample dashboard figures. The live hook actually suppresses the unavailable summary request, so sample figures are restricted to mock mode and the live home explains the missing dashboard connection. |
FND-PFM-CSH-006 | Open | Feedback submission displays thanks without delivering the submitted information. The product should connect acknowledgement to durable receipt or explain the current limitation before submission. |
FND-PFM-CSH-007 | Open | Profile appears among personal actions but has no selection behavior. The product should provide its destination or remove the unusable action. |
FND-PFM-CSH-008 | Open | The unavailable-page component accepts a detailed explanation, but current callers supply only the console section name. The administrative application view can explain the underlying state while the blocked destination cannot. |
FND-PFM-CSH-009 | Open | The recorded renewal decision calls for administrator warnings beginning sixty days before licence expiry. The security context omits the end date needed by that experience, and the shell does not show the agreed warning. |
FND-PFM-CSH-010 | Open | The accepted application-access design locates the administrator list under licensing. The implemented contract places it alongside workspace resources, leaving the recorded address inconsistent with the service. |
FND-PFM-CSH-011 | Open | The unapproved information architecture describes account notices, recent workspace choices and additional tools and administrative groups that are absent from the console. These proposals remain outside confirmed intent. |
FND-PFM-CSH-012 | Open | A code comment attributes the built-screen visibility policy to Andrew, but no inspected product record confirms that policy. It remains proposed; planned entries within an eligible section remain part of the current menu. |
FND-PFM-CSH-013 | Open | The console maintains fixed sample-money conversions alongside the separately selected working currency. The product should retire the illustrative conversion mechanism when the live dashboard has an agreed data source. |
FND-PFM-CSH-014 | Open | Workspace entry, selection and HQ navigation expose internal terminology while other screens use customer-facing wording. The product should adopt consistent customer language across the frame. |
FND-PFM-CSH-015 | Open | Planned-screen placeholders refer customers to internal migration planning and roadmap material. The product should describe the unfinished destination in customer terms. |
FND-PFM-CSH-016 | Open | Area-access keys alone do not make an administrative menu useful. The console compensates by checking whether an area contains visible destinations; direct entry still depends on each destination’s guard. This presentation policy has no inspected product decision. |
FND-PFM-CSH-017 | Open | The main shortcut handler is described in a comment as the only keyboard listener, although the sidebar has a separate folding listener. The implementation and comment disagree. |
FND-PFM-CSH-018 | Open | Navigation writes its fold preference to browser storage but does not restore that preference on a new load. The product should decide whether the stored preference is intended to persist. |
FND-PFM-CSH-019 | Open | The accepted address record describes a historical designer-width failure on a wide viewport with navigation collapsed. This examination does not rerun that product test, so the present failure state remains unverified. |
FND-PFM-CSH-020 | Open | The Websites menu link has no application or permission predicate in console navigation. Its owning service therefore remains the authority for any refusal after selection. |
FND-PFM-CSH-021 | Open | The listed rules lack complete test bindings. Proposed scenarios describe some of the required proof; the remaining rules need scenarios before approval. Source observation does not establish the full browser outcome. |
FND-PFM-CSH-022 | Open | Test bindings result from reading pinned test titles and assertions. This job runs corpus validation rather than the product suites, so these bindings do not certify passing product tests. |
FND-PFM-CSH-023 | Open | The shared route-level application check recognizes registered application domains. Administrative areas, tools and HQ destinations depend on their own guards; the shared check does not establish their individual authority. |
FND-PFM-CSH-024 | Open | The compatibility catalogue has a retirement condition requiring Andrew’s confirmation that earlier links are no longer held. No inspected record supplies that confirmation. |
FND-PFM-CSH-025 | Open | Some original bindings name existing tests that prove only part of a scenario or a different example. Unsupported bindings are removed and the scenarios remain proposed; browser state and cache transitions need direct evidence. |
FND-PFM-CSH-026 | Open | A switcher comment describes cache clearing before the destination answer. URL entry clears caches after a successful answer, and the confirmation appears before entry succeeds. The product should decide the intended transition timing and require browser proof. |
FND-PFM-CSH-027 | Open | An application entry defaults to available whenever its flag is not exactly false, including missing and malformed values. The product should decide whether incomplete answers may offer configuration links and prove that policy. |
FND-PFM-CSH-028 | Open | Configuration always displays the Command shortcut label while Quick Search adapts to the device. The product should present command hints consistently. |
FND-PFM-CSH-029 | Open | The original corpus omits the shared record-reference destination catalogue. The added capability covers built-in refusal, encoding and custom fallback; custom fallback checks general read authority without a record-type scope. |
FND-PFM-CSH-030 | Open | Reading security context can update the authentication record at a throttled interval. Application refresh also resolves the full security context. Security owns these effects and should examine them as reads with possible writes. |
FND-PFM-CSH-031 | Boundary or seed absence accounted for; retained for audit | Portal, payment and report-print routes use the shared route library outside the console frame. Operations owns licensing synchronization, reconciliation, export work and its database tests; the shell does not claim those implementations. |
FND-PFM-CSH-032 | Open | The application-list hook starts before its page guard renders, leaving service refusal necessary even for a denied page. Refresh also shares an in-flight request across workspace changes, so a new refresh can wait on an old result that is discarded. Both transitions need browser proof. |
FND-PFM-CSH-033 | Open | Mock dashboard percentages divide by regional totals or event capacity without a zero guard. Empty totals can produce unreadable percentages. The product should define the empty-total presentation and prove the arithmetic boundaries. |
FND-PFM-CSH-034 | Open | The Orders navigation test attributes its exclusion of Price Schedules to a product ruling, but the inspected source boundary contains no decision record confirming that ruling. The menu behavior remains proposed and the owning product module should supply the decision source. |
| Product question | Decision still needed |
|---|---|
OQ-PFM-CSH-001 | Compatibility retirement event and date |
OQ-PFM-CSH-002 | Renewal-warning delivery and the required expiry information |
OQ-PFM-CSH-003 | Customer presentation of unfinished destinations |
Validation
The required dependency installation, corpus check and corpus tests are run before the final commit. Product unit, API and browser suites are not run; their bindings record source examination only. No code repository, deployment, shared development data, workflow or reader implementation is changed.
| Required command | Result |
|---|---|
npm ci && npm run check | Passed; corpus check reports zero errors |
npm test | Passed; 4 tests, 0 failures |
Verdict for Andrew
The examined layer faithfully describes the module at the pinned commits, with observed behavior kept proposed and confirming decisions retained in rule origins. Its weakest part is automated proof of browser transitions and recovery, with 60 must-prove rules lacking complete bindings and 11 still lacking scenarios. Before design starts, Andrew should settle the three product questions, review the open findings and confirm the proposed policies, while assigning the missing transition and boundary tests.