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:
2026-05-17 00:07:04 +02:00
parent 8357774b86
commit 4164f5adfc
6 changed files with 104 additions and 18 deletions
+14
View File
@@ -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;