From b46f19b4c9bb2adceeb770447319178e3024d965 Mon Sep 17 00:00:00 2001 From: Amr Gharbeia Date: Tue, 28 Apr 2026 18:02:17 -0400 Subject: [PATCH] fix(setup): use clean relative tangling from deployment subdirs --- opencortex.sh | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/opencortex.sh b/opencortex.sh index f0ef593..84a5142 100755 --- a/opencortex.sh +++ b/opencortex.sh @@ -61,26 +61,25 @@ setup_system() { cp "$SCRIPT_DIR/harness"/*.org "$OC_DATA_DIR/harness/" cp "$SCRIPT_DIR/skills"/*.org "$OC_DATA_DIR/skills/" - # WE MUST TANGLE FROM OC_DATA_DIR so the relative paths in the .org files - # (like ../opencortex.asd) resolve correctly relative to the DEPLOYMENT. - cd "$OC_DATA_DIR" export INSTALL_DIR="$OC_DATA_DIR" - # Critical: Tangle manifest first to establish system structure + # Critical: Tangle manifest first to establish system structure (into root and harness) echo "Tangling harness/manifest.org..." - (cd "$OC_DATA_DIR/harness" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/harness/manifest.org\")" >/dev/null 2>&1) || true + (cd "$OC_DATA_DIR" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/harness/manifest.org\")" >/dev/null 2>&1) || true - echo "Tangling harness/tui-client.org..." - (cd "$OC_DATA_DIR/harness" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/harness/tui-client.org\")" >/dev/null 2>&1) || true - - for f in harness/*.org skills/*.org; do - if [ "$f" != "harness/manifest.org" ] && [ "$f" != "harness/tui-client.org" ]; then + # Tangle harness files into harness/ + for f in harness/*.org; do + if [ "$f" != "harness/manifest.org" ]; then echo "Tangling $f..." - DIR_NAME=$(dirname "$f") - (cd "$OC_DATA_DIR/$DIR_NAME" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/$f\")" >/dev/null 2>&1) || true + (cd "$OC_DATA_DIR/harness" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/$f\")" >/dev/null 2>&1) || true fi done + # Tangle skill files into skills/ + for f in skills/*.org; do + echo "Tangling $f..." + (cd "$OC_DATA_DIR/skills" && emacs -Q --batch --eval "(require 'org)" --eval "(setq org-confirm-babel-evaluate nil)" --eval "(org-babel-tangle-file \"$OC_DATA_DIR/$f\")" >/dev/null 2>&1) || true + done cd "$SCRIPT_DIR" # Create the bin shim echo -e "${YELLOW}--- Creating Bin Shim in $OC_BIN_DIR/opencortex ---${NC}" ln -sf "$SCRIPT_DIR/opencortex.sh" "$OC_BIN_DIR/opencortex"