docs(flows): DoD obligatorio con user-facing surface + abrir issues 0100-0103 (taxonomia, frontmatter migration, dev_console, work dashboard)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "session_state.h"
|
||||
#include "py_subprocess.h"
|
||||
#include "picker_state.h"
|
||||
#include "app_base.h"
|
||||
|
||||
#include "crude_json.h"
|
||||
|
||||
@@ -123,6 +124,9 @@ try:
|
||||
out = {"tab_id": tab_id}
|
||||
if isinstance(schema, dict):
|
||||
out.update(schema)
|
||||
# llm_propose_scraping_schema returns "schema" key; remap to "fields" for parser.
|
||||
if "schema" in schema and "fields" not in schema:
|
||||
out["fields"] = schema["schema"]
|
||||
else:
|
||||
out["fields"] = schema
|
||||
print(json.dumps(out))
|
||||
@@ -141,6 +145,16 @@ except Exception as e:
|
||||
std::lock_guard<std::mutex> lk(g_ax.mu);
|
||||
g_ax.raw_python_output = r.stdout_data;
|
||||
}
|
||||
// Debug dump: stdout + diagnostic context to disk for offline inspection.
|
||||
{
|
||||
FILE* f = std::fopen(fn::local_path("autoextract_last.txt"), "wb");
|
||||
if (f) {
|
||||
std::fprintf(f, "EXIT=%d ERR=%s\n", r.exit_code, r.error.c_str());
|
||||
std::fprintf(f, "STDOUT_LEN=%zu\n--- STDOUT ---\n", r.stdout_data.size());
|
||||
std::fwrite(r.stdout_data.data(), 1, r.stdout_data.size(), f);
|
||||
std::fclose(f);
|
||||
}
|
||||
}
|
||||
if (r.exit_code != 0 || r.stdout_data.empty()) {
|
||||
std::lock_guard<std::mutex> lk(g_ax.mu);
|
||||
g_ax.last_error = r.error.empty() ? "python exited non-zero" : r.error;
|
||||
|
||||
Reference in New Issue
Block a user