Implements c_project_create (03-C §3.0) as a plain function for U-007 to
wire up later: idempotent by target_folder_path, creates .graphlemon/ +
one init commit in an existing git repo, PATH_NOT_FOUND/PATH_NOT_WRITABLE/
GIT_INIT_DECLINED per contract, never silently `git init`s (02-V §2.1).
Also corrects a real SDD-vs-plan conflict found while scoping this Unit:
development-plan.md's U-002 line cited architecture doc §7.3's directory
tree (.claude/agents/, skills/, top-level runs/) as what to create inside
a target project. But §13.1 (a later, confirmed decision) states those are
graphlemon's own platform-repo assets (U-003 scope), and 01-M's own
graphlemon_subdir_initialized field already points at §13.2, whose target-
project tree is only .git/ + .graphlemon/ + the target's pre-existing
src/. §7.3 predates the "target project is an independent code space"
pivot and was superseded by it. Corrected development-plan.md,
unit_matrix.json, CLAUDE.md, and 05-实施约束与依赖.md accordingly (user
confirmed, 2026-07-31).
23 stdlib unittest cases (src/test_schema.py + new src/test_project_scaffold.py),
all passing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>