STAR WARS TASK DEFAULT DATA
Created: 18 October 2026
Applied locally: Dev_AlexForbes_HR on BRENDANDESKTOP.
Dev server: package saved for replay; no remote/dev-server deployment performed.

Contents:
- 8 owned projects and 32 phases.
- 240 tasks: 88 New, 88 Active, 32 Resolved and 32 Stuck at first apply.
- 248 direct/shared task assignments and 128 phase collaborations.
- 720 checklist items and 152 within-project dependencies.
- 16 tasks deliberately have no valid due date, for the native planning review.
- Four mapped characters: Leia, Luke, Ahsoka and Obi-Wan.
- All projects use Internal mode. No time, claims, invoices, client financial data or attachments are fabricated.

Portable replay:
1. Deploy the established Task Management schema and modern planning release first.
2. Apply the existing employee renaming/portrait component before this component.
3. Review CharacterMap.json against the target's existing employee business keys. The preflight requires each expected renamed character to have exactly one active user.
4. Set HRF_DEMO_CONNECTION_STRING in the operator's process environment, or pass ConnectionString securely. Do not put credentials in the package.
5. Supply the exact expected development database and SQL Server machine name, with -DemoAcknowledged.
6. Run Preflight, Rehearsal, Apply, then Verify. All commands select only the four explicitly named .sql files.
7. Default Mode is Preflight. A connection string omitted on this local machine uses the existing MyFocus Web.config only when it resolves to local SQL.

Example on a dev server (replace explicit target names):
$devConnection = [Environment]::GetEnvironmentVariable('HRF_DEMO_CONNECTION_STRING')
if ([string]::IsNullOrWhiteSpace($devConnection)) { throw 'Set the approved dev connection first.' }
.\Invoke-StarWarsTaskSeed.ps1 -Mode Preflight -ExpectedDatabase 'Dev_YourDatabase' -ExpectedMachine 'YOUR_SQL_MACHINE' -DemoAcknowledged -ConnectionString $devConnection
.\Invoke-StarWarsTaskSeed.ps1 -Mode Rehearsal -ExpectedDatabase 'Dev_YourDatabase' -ExpectedMachine 'YOUR_SQL_MACHINE' -DemoAcknowledged -ConnectionString $devConnection
.\Invoke-StarWarsTaskSeed.ps1 -Mode Apply -ExpectedDatabase 'Dev_YourDatabase' -ExpectedMachine 'YOUR_SQL_MACHINE' -DemoAcknowledged -ConnectionString $devConnection
.\Invoke-StarWarsTaskSeed.ps1 -Mode Verify -ExpectedDatabase 'Dev_YourDatabase' -ExpectedMachine 'YOUR_SQL_MACHINE' -DemoAcknowledged -ConnectionString $devConnection

Behavior:
The package creates only owned records and a constrained ownership registry (__Codex_StarWarsTaskSeed).
It resolves native lookup IDs and user IDs at the destination. No copied numeric user/project/task IDs are used.
The first run anchors dates to the deployment day unless BaseDate is supplied. Reruns retain that first base date.
The character map and base date must remain consistent on replay. Existing sample row edits are preserved.
Leia owns the projects. All four mapped characters collaborate on the new demo phases, using native scope only.
No user memberships, existing project/report access rules or unrelated task rows change.
Known native task timestamp triggers stay enabled. Unreviewed target-table triggers stop preflight.
Task/phase event notifications are disabled for owned scopes only, and each mapped user opts out of those scopes' reminders and digests.
No notification sending procedure, scheduler, approval or external integration is invoked.
Do not add other participants to this demo batch without reviewing notification isolation.

Validation:
SQL Server 2016 grammar and identifier checks passed for all four files.
A rollback rehearsal applied twice, verified native visibility and coherent dates/statuses, then rolled back.
Local apply passed with a second no-change apply. Independent verification passed after commit.
Unrelated task/project/phase row hashes, user identity scope, memberships and task trigger states matched before/after.
Owned task/phase notification log rows were zero.
SQL/native visibility checks are separate from authenticated full browser CRUD and export QA.

Rollback:
Rehearsal rolls back the entire transaction. Identity values consumed during rehearsal can leave ordinary identity gaps.
There is no automatic destructive cleanup. For a committed removal, use registry IDs to prepare a separately reviewed reverse-dependency cleanup, checking new references and preserving any subsequent user work first.
Do not delete by a broad name prefix or disable business triggers.

SQL-only manifest:
000 - Preflight - Star Wars Task Demo.sql
001 - Table - __Codex_StarWarsTaskSeed.sql
900 - Data - Star Wars Task Demo.sql
999 - Verification - Star Wars Task Demo.sql

