Loading...
Loading...
File a phase artifact into MemPalace; mirror decision facts into its temporal KG
npx skill4agent add open-gsd/gsd-core gsd-mempalace-captureGSD > MEMPALACE CAPTURE.planning/config.json.planning/config.jsonconfig.mempalaceconfig.mempalace.enabled !== trueconfig.mempalace.capture_artifacts === falseGSD > MEMPALACE CAPTURE
MemPalace capture is disabled (mempalace.enabled / mempalace.capture_artifacts).
Nothing was filed; the loop proceeds normally.onError: skipdiscuss:postplan:postverify:post$ARGUMENTSdiscuss:postCONTEXT.mdplan:postPLAN.mdverify:postSUMMARY.mdCONTEXT.mddecisionsPLAN.mdplanningSUMMARY.mdmilestonesproblemscapture-problemsexecute:wave:postconfig.mempalace.wingconfig.project_codeconfig.mempalace.memory_modemempalace_*mempalaceBashmempalace-recallmempalace_check_duplicatemempalace mineroom: <room>wing: <wing>source_filemempalace_add_drawermempalace mine--roomsearch--roomdetect_room()rooms:mempalace.yamldetect_room()STAGE=".planning/.mempalace-stage"
# One-time: declare the GSD room taxonomy so detect_room() recognizes these folders
mkdir -p "$STAGE"
[ -f "$STAGE/mempalace.yaml" ] || cat > "$STAGE/mempalace.yaml" <<'YAML'
# Each entry MUST be a dict with a `name` key (the miner's detect_room()
# indexes room["name"] — a bare-string list crashes _mine_impl with
# TypeError: string indices must be integers, not 'str'). Optional fields:
# `description`, `keywords` (matched against folder-path segments).
rooms:
- name: decisions
- name: planning
- name: milestones
- name: problems
- name: general
YAML
# Suppress MemPalace cache artifacts written into the scanned tree
[ -f "$STAGE/.gitignore" ] || echo "mempalace_embedder.json" > "$STAGE/.gitignore"
# Stage under <room>/<phase-id>/<basename> — stable path so mine's content-hash
# idempotency (file_already_mined keys on absolute source_file + mtime) deduplicates
# instead of creating duplicate drawers on re-runs.
ROOM_DIR="$STAGE/<room>/<phase-id>"
mkdir -p "$ROOM_DIR"
cp "<artifact-path>" "$ROOM_DIR/<basename>"
# Mine with --wing only — no --room flag; detect_room() assigns from the folder path
mempalace mine "$STAGE" --wing <wing>config.mempalace.mirror_kg === falsemempalace_kg_addvalid_from(<project>, decided, <decision>)(<phase>, delivered, <capability>)augment.planning/graphs/kg_backendreplace.planning/graphs/check_duplicateFiled <artifact> → <wing>/<room> (<n> KG facts)MemPalace unavailable — capture skippedonError: skipsync --applyship:post