feat(onboard): user onboarding - no default USER.md, guided creation (#37)
- bootstrap no longer creates user/USER.md (owner direction) - scripts/onboard.sh: name REQUIRED (interactive loop or --name), optional fields prompted (profession, marital, age, gender, education, location, timezone, skillset, interests, hobbies, pets); flag-driven non-interactive mode for automation - templates/USER.md: canon skeleton, placeholder rendering, unfilled optional = (not provided) - agent.sh: auto-runs onboarding when profile missing (TTY gate); headless run-task warns and continues without user context - user profile dispatched to all launches (M14 layer) Closes #37 (onboarding requirements from owner layout review)
This commit is contained in:
@@ -41,6 +41,14 @@ load_config
|
||||
load_release
|
||||
bootstrap_runtime_dir
|
||||
|
||||
# Onboarding gate (M16): a TUI agent cannot launch without a user profile.
|
||||
# The onboarding wizard runs automatically here - the TTY is already yours.
|
||||
if [ ! -f "$MOSAIC_DEV_DIR/user/USER.md" ]; then
|
||||
echo "agent: no user profile found - starting onboarding"
|
||||
scripts/onboard.sh
|
||||
[ -f "$MOSAIC_DEV_DIR/user/USER.md" ] || { echo "agent: onboarding did not complete; aborting launch" >&2; exit 1; }
|
||||
fi
|
||||
|
||||
# Agent seat definition (M15): when agents/<name>/agent.json exists it is
|
||||
# strictly validated and its values become defaults (CLI flags override).
|
||||
# The seat's SOUL.md overrides the contract persona; governance contracts
|
||||
|
||||
Reference in New Issue
Block a user