STATE - Navigation Shell and Object Ownership
DomainsDOL EnglishProduct405 words2 min read
Current truth
Phần tiêu đề “Current truth”Logged-in DOL English is now program-first by default: the shell resumes into a real Program Workspace, while cross-program aggregation exists only as an explicit scope inside a few eligible views. Deep objects keep a canonical owner section and may appear elsewhere only as shortcuts.
Rules
Phần tiêu đề “Rules”- Shell layers:
Public Discovery: pre-login browse and program/course exploration.Program Workspace: one real program at a time for actual execution.Selective Cross-program Aggregate Views: explicit multi-program scope inside eligible views only.Deep Object: assignment, attempt, result, vocab item, AI feedback, or similar owner object.
Program Workspace:- always belongs to one real program,
- uses task destinations as primary navigation,
- keeps local tabs/switchers inside each destination rather than stacking multiple global rows.
Selective Cross-program Aggregate Views:- are not a standalone shell mode,
- are not a peer program context,
- start from confirmed use cases such as
schedule / calendar, - default to current program scope first,
- may expose
All Programsonly as an explicit scope toggle when needed.
- Program switcher:
- lists real programs only,
- must not contain
All Programsas a peer execution context, - changes current workspace context explicitly.
- Default entry resolution after login:
- valid
returnTo-> exact protected target, - else
last meaningful program workspace, - else if restore target is invalid -> same program root,
- else if exactly one valid active program exists -> that program workspace,
- else onboarding/program choice/discovery.
- valid
- Canonical object ownership:
- every deep object needs
program,object_type,source, andcanonical_section, - shortcut cards outside canonical owner can show the object but must read the same completion/progress state,
- summary surfaces do not create duplicate object versions.
- every deep object needs
- Cross-program deep links:
- notification/search/deep-link may switch into another program only when target ownership requires it,
- the switch must be visible in URL/state and UI context cues,
- back behavior must follow explicit route history, not hidden shell state.
- Logged-in naming guardrail:
- use learner-centric, task-first labels,
- avoid admin/module-centric wording in primary execution navigation.
- Archived shell note:
- the retired
Global Today Hub/ post-login overview model is historical only, - active docs must not treat it as current shell truth.
- the retired
Decision trace
Phần tiêu đề “Decision trace”- DEC-0011
- DEC-0038
- DEC-0065
- DEC-0068
- DEC-0070
- DEC-0095
- DEC-0096