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:
2026-09-03 12:30:42 -05:00
parent 530597cc84
commit 8eb81ebec1
6 changed files with 203 additions and 6 deletions
+3 -6
View File
@@ -50,11 +50,8 @@ bootstrap_runtime_dir() {
echo "bootstrap: created $MOSAIC_DEV_DIR"
fi
touch "$MOSAIC_DEV_DIR/$POC_ROOT_MARKER"
# Live user context layer (M14): seeded once, owned by the user from
# then on; dispatched to every agent launch without rebuilds.
# Live user context layer (M14/M16): the directory is system-managed,
# but USER.md is NEVER auto-created. Onboarding (scripts/onboard.sh,
# auto-invoked by agent.sh) creates it from the template.
mkdir -p "$MOSAIC_DEV_DIR/user"
if [ ! -f "$MOSAIC_DEV_DIR/user/USER.md" ]; then
printf '# User\n\nDescribe yourself, your machine, and your preferences here.\nThis file is dispatched to every Mosaic agent launch.\n' \
> "$MOSAIC_DEV_DIR/user/USER.md"
fi
}