       printf("plan node already marked complete: " + node) =>
         v = propagate();
     }
-    // v = dummy(parent, stage, id, block); // cf. junk.swift
   }
 }
 
+
+/** MAKE JSON FRAGMENT: Construct the JSON parameter fragment for the model */
 (string result) make_json_fragment(string this, int stage)
 {
     json_fragment = ----
 "pre_module":  "data_setup",
 "post_module": "data_setup",
-"plan":        "/home/wozniak/plan.json",
+"plan":        "%s",
 "config_file": "uno_auc_model.txt",
 "cache":       "cache/top6_auc",
-"dataframe_from":
-    "/usb1/wozniak/CANDLE-Benchmarks-Data/top21_dataframe_8x8.csv",
+"dataframe_from": "%s",
 "save_weights": "model.h5"
-----;
+---- %
+(plan_json, dataframe_csv);
   if (stage > 1)
   {
     n = strlen(this);

  }
}

plan_id = python_persist("import plangen",
                         "str(plangen.plan_prep('%s', '%s', %s))" %
                         (db_file, filename(plan_json), runtype));
printf("DB plan_id: %s", plan_id);

// python("print('hi')");
assert(plan_id != "-1", "Plan already exists!");

stage = 0;
run_stage(N, S, "1", stage, propagate(), plan_id, db_file, runtype) =>
  printf("RESULTS: COMPLETE");

{
  runtype = "plangen.RunType.RUN_ALL";
}
string plan_json     = argv("plan_json");
string dataframe_csv = argv("dataframe_csv");
string db_file       = argv("db_file");
// END WORKFLOW ARGUMENTS

// For compatibility with obj():
global const string FRAMEWORK = "keras";

/** RUN STAGE: A recursive function that manages the stage dependencies */
(void v)
run_stage(int N, int S, string this, int stage, void block,
          string plan_id, string db_file, string runtype)
