From a3f75d61ec6f12729a85221f3deae2067603e45a Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Tue, 30 Jun 2026 14:43:51 +0200 Subject: [PATCH] chore: avance acumulado de sesiones previas (reorg dev/issues + ajustes) Reorganizacion de dev/issues en subcarpetas (completed/, cpp/, gamedev/, kanban/, trading/, imagegen/, matrix/) y cambios acumulados en cmd/fn/pyrunner, .claude/commands y settings. Trabajo de otro LLM/sesion, commiteado a peticion del usuario para desbloquear el working tree. Excluido logs/ardour_mcp_server.log (ruido). --- .claude/commands/issue.md | 5 +- .claude/settings.local.json | 4 +- cmd/fn/pyrunner.go | 84 ++++++----- cmd/fn/pyrunner_test.go | 141 ++++++++++++++++++ .../0051-extraction-pipeline-followups.md | 2 +- ...4-deploy-server-registry-first-refactor.md | 2 +- ...0055-docker-tui-registry-first-refactor.md | 2 +- .../0056-audit-python-nested-imports.md | 2 +- dev/issues/0057-audit-go-symbol-naming.md | 2 +- .../0060-fn-doctor-secrets-subcommand.md | 2 +- .../0061-notify-telegram-integration.md | 2 +- dev/issues/0071a-extract-claude-chat-panel.md | 3 +- dev/issues/0071b-extract-jobs-queue-panel.md | 3 +- .../0071f-extract-subprocess-streamer.md | 2 +- dev/issues/0071g-extract-app-db-init.md | 2 +- ...-gradle_run-no-detecta-android-sdk-path.md | 2 +- dev/issues/0077-fn-run-bash-output-mudo.md | 2 +- .../0100-issues-frontmatter-migration.md | 2 +- .../0104-fix-issue-type-aware-dispatch.md | 2 +- dev/issues/0107e-version-pinning-codegen.md | 2 +- .../0109k-skill-tree-dashboard-panel.md | 7 +- dev/issues/0109m-issues-api-service.md | 8 +- dev/issues/0121-e2e-checks-coverage-masa.md | 2 +- dev/issues/0121a-design-e2e-batch.md | 2 +- dev/issues/0121c-apply-e2e-proposals.md | 4 +- dev/issues/0122-fn-revisor-auto-apply.md | 2 +- dev/issues/0124-dag-engine-cleanup.md | 2 +- dev/issues/0125-deploy-server-db-flag.md | 2 +- dev/issues/0128-kanban-files-attachments.md | 2 +- dev/issues/0130a-kanban-cpp-v2-parser.md | 7 +- dev/issues/0130b-kanban-cpp-v2-backend.md | 3 +- dev/issues/0134-mesh-protocol-spec.md | 4 +- dev/issues/0144-agent-per-machine-llm.md | 4 +- .../0146-add-pc-oneshot-mesh-scaling.md | 4 +- dev/issues/0147-matrix-client-pc-scaffold.md | 4 +- .../0148-matrix-client-pc-rooms-timeline.md | 4 +- dev/issues/0149-matrix-client-pc-composer.md | 4 +- dev/issues/0150-matrix-client-pc-e2ee.md | 4 +- .../0151-matrix-client-pc-livekit-calls.md | 4 +- .../0152-matrix-client-pc-mini-webapps.md | 4 +- .../0154-matrix-client-android-scaffold.md | 4 +- ...55-matrix-client-android-rooms-timeline.md | 4 +- .../0156-matrix-client-android-composer.md | 4 +- dev/issues/0157-matrix-client-android-e2ee.md | 4 +- ...158-matrix-client-android-livekit-calls.md | 4 +- .../0159-matrix-client-android-push-fcm.md | 4 +- ...0160-matrix-client-android-mini-webapps.md | 4 +- ...atrix-client-android-foreground-service.md | 4 +- .../0162-matrix-enable-mas-delegated-auth.md | 4 +- dev/issues/0163-matrix-custom-admin-panel.md | 4 +- .../0179-dev-console-recursive-issue-scan.md | 45 ++++++ dev/issues/0180-ausente-issues-queue-dag.md | 59 ++++++++ .../0059-nested-app-md-tracking.md | 2 +- .../0067-odr-osint-prereqs-roadmap.md | 2 +- .../0068-e2e-validation-loop-fn4-fn5.md | 0 ...onomous-agent-loop-self-iterating-tasks.md | 0 .../0072l-gamedev-scripting-optional.md | 0 ...call-standardization-and-usage-tracking.md | 0 ...ude-md-delegation-and-capability-groups.md | 0 .../0087-capability-discovery-acceleration.md | 2 +- .../0096-standardize-app-locations.md | 2 +- .../0101-dev-console-binary.md | 2 +- .../0103-taxonomy-and-slash-commands.md | 2 +- ...105-service-frontmatter-standardization.md | 2 +- .../0109g-skill-tree-embedded-terminal.md | 2 +- .../completed/0114-dod-evidence-schema.md | 2 +- .../0128-agents-and-robots-http-api-sse.md | 2 +- ...0153-matrix-client-pc-agent-integration.md | 2 +- .../0164-agents-cryptohelper-init-hang.md | 2 +- .../0166-matrix-livekit-turn-deploy.md | 2 +- ...71-project-subrepo-manifest-and-reclone.md | 2 +- ...173-eda-correctitud-estadistica-critica.md | 2 +- ...4-eda-series-periodo-estacional-niveles.md | 2 +- .../0175-eda-relational-fk-inference-views.md | 2 +- ...76-eda-render-models-series-caveats-pdf.md | 2 +- ...77-eda-tipos-id-secuencial-eta-cuadrado.md | 2 +- .../{ => cpp}/0027-cpp-gl-compute-pingpong.md | 0 .../{ => cpp}/0030-cpp-audio-reactive.md | 0 .../{ => cpp}/0033-cpp-http-ws-inspector.md | 2 +- dev/issues/{ => cpp}/0035-cpp-map-tiles.md | 0 .../{ => cpp}/0036-cpp-image-canvas-webcam.md | 0 ...071-extract-reusable-cpp-panels-roadmap.md | 0 .../0072a-gamedev-smoke-sdl3-sokol-imgui.md | 5 +- .../{ => cpp}/0082-compile-sd-cpp-binary.md | 2 +- .../0095-dag-engine-cpp-imgui-frontend.md | 0 .../{ => cpp}/0110-cpp-http-client-helper.md | 2 +- dev/issues/{ => cpp}/0130-kanban-cpp-v2.md | 0 .../{ => cpp}/0130c-kanban-cpp-v2-frontend.md | 3 +- .../{ => cpp}/0131-cpp-module-chat-panel.md | 0 .../0132-cpp-module-terminal-panel.md | 2 +- .../{ => cpp}/0133-cpp-data-table-10m-rows.md | 0 .../0072-gamedev-stack-roadmap.md | 0 .../0072b-gamedev-runtime-core.md | 3 +- .../0072c-gamedev-asset-pipeline.md | 3 +- .../0072d-gamedev-wasm-build-size-budget.md | 4 +- .../0072e-gamedev-crypto-bridge-web3.md | 4 +- ...-gamedev-crypto-onchain-assets-payments.md | 3 +- .../0072g-gamedev-android-build.md | 4 +- .../{ => gamedev}/0072h-gamedev-ios-build.md | 4 +- .../{ => gamedev}/0072i-gamedev-editor-app.md | 4 +- .../0072j-gamedev-physics-box2d.md | 8 +- .../0072k-gamedev-demo-platformer.md | 6 +- .../0083-imagegen-spike02-cross-validation.md | 2 +- .../0084-imagegen-studio-go-app.md | 0 .../0058-kanban-uses-functions-sync.md | 2 +- .../{ => kanban}/0063-kanban-stickers.md | 0 .../0089-kanban-column-max-time.md | 2 +- .../0090-kanban-column-random-pick.md | 2 +- .../0091-kanban-sidebar-drag-zones.md | 2 +- .../{ => kanban}/0092-kanban-done-archive.md | 2 +- .../{ => kanban}/0093-kanban-daily-report.md | 2 +- .../0094-kanban-daily-summary-pdf.md | 0 .../0178-kanban-requester-empty-nav.md} | 4 +- .../0165-matrix-media-store-luks.md | 0 .../0088-trading-skill-management-roadmap.md | 0 .../0088a-trading-project-scaffolding.md | 2 +- ...8b-trading-market-data-capability-group.md | 2 +- ...ding-broker-interface-and-paper-adapter.md | 2 +- .../0088d-trading-portfolio-tracker-app.md | 2 +- ...0088e-trading-strategy-capability-group.md | 2 +- ...g-risk-capability-group-and-kill-switch.md | 2 +- .../0088g-trading-backtester-app.md | 2 +- .../0088h-trading-live-runner-service.md | 2 +- .../0088i-trading-journal-app.md | 2 +- .../0088j-trading-reactive-loop-wiring.md | 2 +- 125 files changed, 421 insertions(+), 203 deletions(-) create mode 100644 cmd/fn/pyrunner_test.go create mode 100644 dev/issues/0179-dev-console-recursive-issue-scan.md create mode 100644 dev/issues/0180-ausente-issues-queue-dag.md rename dev/issues/{ => completed}/0059-nested-app-md-tracking.md (99%) rename dev/issues/{ => completed}/0067-odr-osint-prereqs-roadmap.md (99%) rename dev/issues/{ => completed}/0068-e2e-validation-loop-fn4-fn5.md (100%) rename dev/issues/{ => completed}/0069-autonomous-agent-loop-self-iterating-tasks.md (100%) rename dev/issues/{ => completed}/0072l-gamedev-scripting-optional.md (100%) rename dev/issues/{ => completed}/0085-registry-call-standardization-and-usage-tracking.md (100%) rename dev/issues/{ => completed}/0086-claude-md-delegation-and-capability-groups.md (100%) rename dev/issues/{ => completed}/0087-capability-discovery-acceleration.md (99%) rename dev/issues/{ => completed}/0096-standardize-app-locations.md (99%) rename dev/issues/{ => completed}/0101-dev-console-binary.md (99%) rename dev/issues/{ => completed}/0103-taxonomy-and-slash-commands.md (99%) rename dev/issues/{ => completed}/0105-service-frontmatter-standardization.md (99%) rename dev/issues/{ => completed}/0109g-skill-tree-embedded-terminal.md (99%) rename dev/issues/{ => completed}/0153-matrix-client-pc-agent-integration.md (99%) rename dev/issues/{ => completed}/0164-agents-cryptohelper-init-hang.md (99%) rename dev/issues/{ => completed}/0171-project-subrepo-manifest-and-reclone.md (99%) rename dev/issues/{ => completed}/0173-eda-correctitud-estadistica-critica.md (99%) rename dev/issues/{ => completed}/0174-eda-series-periodo-estacional-niveles.md (99%) rename dev/issues/{ => completed}/0175-eda-relational-fk-inference-views.md (99%) rename dev/issues/{ => completed}/0176-eda-render-models-series-caveats-pdf.md (99%) rename dev/issues/{ => completed}/0177-eda-tipos-id-secuencial-eta-cuadrado.md (99%) rename dev/issues/{ => cpp}/0027-cpp-gl-compute-pingpong.md (100%) rename dev/issues/{ => cpp}/0030-cpp-audio-reactive.md (100%) rename dev/issues/{ => cpp}/0033-cpp-http-ws-inspector.md (99%) rename dev/issues/{ => cpp}/0035-cpp-map-tiles.md (100%) rename dev/issues/{ => cpp}/0036-cpp-image-canvas-webcam.md (100%) rename dev/issues/{ => cpp}/0071-extract-reusable-cpp-panels-roadmap.md (100%) rename dev/issues/{ => cpp}/0072a-gamedev-smoke-sdl3-sokol-imgui.md (99%) rename dev/issues/{ => cpp}/0082-compile-sd-cpp-binary.md (99%) rename dev/issues/{ => cpp}/0095-dag-engine-cpp-imgui-frontend.md (100%) rename dev/issues/{ => cpp}/0110-cpp-http-client-helper.md (98%) rename dev/issues/{ => cpp}/0130-kanban-cpp-v2.md (100%) rename dev/issues/{ => cpp}/0130c-kanban-cpp-v2-frontend.md (99%) rename dev/issues/{ => cpp}/0131-cpp-module-chat-panel.md (100%) rename dev/issues/{ => cpp}/0132-cpp-module-terminal-panel.md (98%) rename dev/issues/{ => cpp}/0133-cpp-data-table-10m-rows.md (100%) rename dev/issues/{ => gamedev}/0072-gamedev-stack-roadmap.md (100%) rename dev/issues/{ => gamedev}/0072b-gamedev-runtime-core.md (99%) rename dev/issues/{ => gamedev}/0072c-gamedev-asset-pipeline.md (99%) rename dev/issues/{ => gamedev}/0072d-gamedev-wasm-build-size-budget.md (99%) rename dev/issues/{ => gamedev}/0072e-gamedev-crypto-bridge-web3.md (99%) rename dev/issues/{ => gamedev}/0072f-gamedev-crypto-onchain-assets-payments.md (99%) rename dev/issues/{ => gamedev}/0072g-gamedev-android-build.md (99%) rename dev/issues/{ => gamedev}/0072h-gamedev-ios-build.md (99%) rename dev/issues/{ => gamedev}/0072i-gamedev-editor-app.md (99%) rename dev/issues/{ => gamedev}/0072j-gamedev-physics-box2d.md (99%) rename dev/issues/{ => gamedev}/0072k-gamedev-demo-platformer.md (99%) rename dev/issues/{ => imagegen}/0083-imagegen-spike02-cross-validation.md (99%) rename dev/issues/{ => imagegen}/0084-imagegen-studio-go-app.md (100%) rename dev/issues/{ => kanban}/0058-kanban-uses-functions-sync.md (99%) rename dev/issues/{ => kanban}/0063-kanban-stickers.md (100%) rename dev/issues/{ => kanban}/0089-kanban-column-max-time.md (99%) rename dev/issues/{ => kanban}/0090-kanban-column-random-pick.md (99%) rename dev/issues/{ => kanban}/0091-kanban-sidebar-drag-zones.md (99%) rename dev/issues/{ => kanban}/0092-kanban-done-archive.md (99%) rename dev/issues/{ => kanban}/0093-kanban-daily-report.md (99%) rename dev/issues/{ => kanban}/0094-kanban-daily-summary-pdf.md (100%) rename dev/issues/{0088-kanban-requester-empty-nav.md => kanban/0178-kanban-requester-empty-nav.md} (98%) rename dev/issues/{ => matrix}/0165-matrix-media-store-luks.md (100%) rename dev/issues/{ => trading}/0088-trading-skill-management-roadmap.md (100%) rename dev/issues/{ => trading}/0088a-trading-project-scaffolding.md (98%) rename dev/issues/{ => trading}/0088b-trading-market-data-capability-group.md (99%) rename dev/issues/{ => trading}/0088c-trading-broker-interface-and-paper-adapter.md (98%) rename dev/issues/{ => trading}/0088d-trading-portfolio-tracker-app.md (99%) rename dev/issues/{ => trading}/0088e-trading-strategy-capability-group.md (99%) rename dev/issues/{ => trading}/0088f-trading-risk-capability-group-and-kill-switch.md (99%) rename dev/issues/{ => trading}/0088g-trading-backtester-app.md (97%) rename dev/issues/{ => trading}/0088h-trading-live-runner-service.md (97%) rename dev/issues/{ => trading}/0088i-trading-journal-app.md (98%) rename dev/issues/{ => trading}/0088j-trading-reactive-loop-wiring.md (98%) diff --git a/.claude/commands/issue.md b/.claude/commands/issue.md index 5aa0a386..b6f182b8 100644 --- a/.claude/commands/issue.md +++ b/.claude/commands/issue.md @@ -31,12 +31,13 @@ Diferencia con `dev/flows/`: **Fase 1 (manual via Claude):** -El agente lee `dev/issues/*.md`, parsea frontmatter YAML con `yaml.safe_load`, aplica el filtro, imprime tabla. +El agente lee `dev/issues/**/*.md` (recursivo: incluye subcarpetas por dominio como `dev/issues/kanban/`, `dev/issues/cpp/`, ... excluyendo `completed/`), parsea frontmatter YAML con `yaml.safe_load`, aplica el filtro, imprime tabla. ```python import yaml, pathlib, re issues = [] -for f in pathlib.Path("dev/issues").glob("*.md"): +for f in pathlib.Path("dev/issues").glob("**/*.md"): + if f.parent.name == "completed": continue if f.name in {"README.md", "template.md"}: continue txt = f.read_text() m = re.match(r"^---\n(.*?)\n---", txt, re.S) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 325a41ee..aed36146 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -9,7 +9,9 @@ "enabledMcpjsonServers": [ "registry", "jupyter", - "orchestrator" + "orchestrator", + "godot", + "ardour" ], "hooks": { "PreToolUse": [ diff --git a/cmd/fn/pyrunner.go b/cmd/fn/pyrunner.go index c0cdda06..ab43e046 100644 --- a/cmd/fn/pyrunner.go +++ b/cmd/fn/pyrunner.go @@ -18,6 +18,7 @@ type pyParam struct { Default string // empty if required IsKwargs bool // **kwargs IsRegistry bool // type is a registry type (needs factory) + KwOnly bool // declared after a bare "*" or "*args" — must be passed by keyword } // pyFactory links a registry type to the function that creates it. @@ -45,12 +46,21 @@ func parsePySignature(sig string) []pyParam { // Split by comma, respecting nested brackets parts := splitParams(raw) var params []pyParam + kwOnly := false for _, part := range parts { part = strings.TrimSpace(part) if part == "" || part == "self" || part == "cls" { continue } + // A bare "*" (PEP 3102) or "*args" var-positional marks the start of + // keyword-only params. Neither maps cleanly to positional CLI args, so + // skip the marker itself and flag every following param as keyword-only. + if part == "*" || (strings.HasPrefix(part, "*") && !strings.HasPrefix(part, "**")) { + kwOnly = true + continue + } p := parseSingleParam(part) + p.KwOnly = kwOnly params = append(params, p) } return params @@ -189,11 +199,19 @@ func generatePyRunner(fn *registry.Function, db *registry.DB, registryRoot strin // Classify params var factoryImports []string // import lines for factories var factorySetup []string // code to create factory objects - var argLines []string // code to parse CLI args - var callArgs []string // arguments to pass to the function + var bodyLines []string // code that fills _call_args / _call_kwargs cliArgIdx := 0 + // emitCall appends one param to _call_args (positional) or _call_kwargs + // (keyword-only). indent prefixes the line (for params read inside an `if`). + emitCall := func(p pyParam, indent string) string { + if p.KwOnly { + return fmt.Sprintf("%s_call_kwargs[%q] = %s", indent, p.Name, p.Name) + } + return fmt.Sprintf("%s_call_args.append(%s)", indent, p.Name) + } + for _, p := range params { if p.IsKwargs { // Skip **kwargs for now — can't auto-resolve from CLI @@ -235,27 +253,35 @@ func generatePyRunner(fn *registry.Function, db *registry.DB, registryRoot strin fmt.Sprintf("%s = %s(%s)", p.Name, factory.FuncName, strings.Join(factoryArgs, ", "))) - callArgs = append(callArgs, p.Name) + // Factory objects are always present (required). + bodyLines = append(bodyLines, emitCall(p, "")) } else { - // Primitive type — from CLI args + // Primitive type — from CLI args. if p.Default != "" { - // Optional param with default - argLines = append(argLines, - fmt.Sprintf("%s = _args[%d] if len(_args) > %d else %s", - p.Name, cliArgIdx, cliArgIdx, convertDefault(p.Type, p.Default))) - argLines = append(argLines, - convertArg(p.Name, p.Type, true)) + // Optional: only pass when the CLI arg is present. When absent we + // DON'T replicate the signature default (it may reference a module + // constant that doesn't exist in this runner) — we simply omit the + // argument so the function applies its own native default. + bodyLines = append(bodyLines, + fmt.Sprintf("if len(_args) > %d:", cliArgIdx)) + bodyLines = append(bodyLines, + fmt.Sprintf(" %s = _args[%d]", p.Name, cliArgIdx)) + if conv := convertArg(p.Name, p.Type, true); conv != "" { + bodyLines = append(bodyLines, " "+conv) + } + bodyLines = append(bodyLines, emitCall(p, " ")) } else { - // Required param - argLines = append(argLines, + // Required param. + bodyLines = append(bodyLines, fmt.Sprintf("if len(_args) <= %d: sys.exit('error: missing required arg: %s (%s)')", cliArgIdx, p.Name, p.Type)) - argLines = append(argLines, + bodyLines = append(bodyLines, fmt.Sprintf("%s = _args[%d]", p.Name, cliArgIdx)) - argLines = append(argLines, - convertArg(p.Name, p.Type, false)) + if conv := convertArg(p.Name, p.Type, false); conv != "" { + bodyLines = append(bodyLines, conv) + } + bodyLines = append(bodyLines, emitCall(p, "")) } - callArgs = append(callArgs, p.Name) cliArgIdx++ } } @@ -289,18 +315,18 @@ func generatePyRunner(fn *registry.Function, db *registry.DB, registryRoot strin sb.WriteString("\n") } - // Arg parsing - if len(argLines) > 0 { - sb.WriteString("# --- parse CLI args ---\n") - for _, line := range argLines { - sb.WriteString(line + "\n") - } - sb.WriteString("\n") + // Arg parsing — build the positional/keyword argument collections. + sb.WriteString("# --- parse CLI args ---\n") + sb.WriteString("_call_args = []\n") + sb.WriteString("_call_kwargs = {}\n") + for _, line := range bodyLines { + sb.WriteString(line + "\n") } + sb.WriteString("\n") // Call sb.WriteString("# --- execute ---\n") - sb.WriteString(fmt.Sprintf("_result = %s(%s)\n", fn.Name, strings.Join(callArgs, ", "))) + sb.WriteString(fmt.Sprintf("_result = %s(*_call_args, **_call_kwargs)\n", fn.Name)) sb.WriteString("\n") // Output @@ -365,16 +391,6 @@ func convertArg(name, typ string, _ bool) string { } } -// convertDefault ensures the default value is valid Python for the given type. -func convertDefault(_, def string) string { - // Most defaults from the signature are already valid Python - // Just handle the None case for Optional types - if def == "None" || def == "" { - return "None" - } - return def -} - // pythonList creates a Python list literal from strings: ["a", "b", "c"] func pythonList(items []string) string { quoted := make([]string, len(items)) diff --git a/cmd/fn/pyrunner_test.go b/cmd/fn/pyrunner_test.go new file mode 100644 index 00000000..b90e7234 --- /dev/null +++ b/cmd/fn/pyrunner_test.go @@ -0,0 +1,141 @@ +package main + +import ( + "os" + "os/exec" + "strings" + "testing" + + "fn-registry/registry" +) + +// Signature with a bare "*" (PEP 3102) separating positional from keyword-only +// params. This is the shape that used to make fn run emit "* = _args[3]". +const kwOnlySig = "def add_event_dav(summary: str, start: str, end: str = '', *, location: str = '', all_day: bool = False) -> dict" + +func TestParsePySignatureBareStarKeywordOnly(t *testing.T) { + params := parsePySignature(kwOnlySig) + + // The bare "*" marker must never surface as a real parameter. + for _, p := range params { + if p.Name == "*" { + t.Fatalf("bare '*' leaked as a param: %+v", params) + } + } + + want := map[string]bool{ // name -> expected KwOnly + "summary": false, + "start": false, + "end": false, + "location": true, + "all_day": true, + } + if len(params) != len(want) { + t.Fatalf("got %d params, want %d: %+v", len(params), len(want), params) + } + for _, p := range params { + kw, ok := want[p.Name] + if !ok { + t.Errorf("unexpected param %q", p.Name) + continue + } + if p.KwOnly != kw { + t.Errorf("param %q KwOnly=%v, want %v", p.Name, p.KwOnly, kw) + } + } +} + +func TestGeneratePyRunnerKeywordOnlyValid(t *testing.T) { + fn := ®istry.Function{ + Name: "add_event_dav", + Lang: "py", + FilePath: "python/functions/pipelines/add_event_dav.py", + Signature: kwOnlySig, + } + + // All params are primitive, so no factory lookup happens and db is unused. + script, err := generatePyRunner(fn, nil, "") + if err != nil { + t.Fatalf("generatePyRunner: %v", err) + } + + if strings.Contains(script, "* = _args") { + t.Fatalf("runner emitted invalid syntax '* = _args':\n%s", script) + } + + // The signature default DEFAULT_BASE_URL (a module constant) must NOT be + // replicated into the runner — that NameErrors at runtime. + if strings.Contains(script, "DEFAULT_BASE_URL") { + t.Errorf("runner replicated non-literal default DEFAULT_BASE_URL:\n%s", script) + } + + // Required positionals are appended; keyword-only optionals go to kwargs. + for _, want := range []string{ + "_call_args.append(summary)", + "_call_args.append(start)", + `_call_kwargs["location"] = location`, + `_call_kwargs["all_day"] = all_day`, + "_result = add_event_dav(*_call_args, **_call_kwargs)", + } { + if !strings.Contains(script, want) { + t.Errorf("missing %q in generated runner:\n%s", want, script) + } + } + + // The generated runner must itself be valid Python (compile, don't run). + mustCompilePython(t, script) +} + +// mustCompilePython checks the script parses as valid Python via py_compile. +func mustCompilePython(t *testing.T, script string) { + t.Helper() + f, err := os.CreateTemp(t.TempDir(), "runner_*.py") + if err != nil { + t.Fatalf("temp file: %v", err) + } + if _, err := f.WriteString(script); err != nil { + t.Fatalf("write: %v", err) + } + f.Close() + py := pythonBinForTest() + out, err := exec.Command(py, "-m", "py_compile", f.Name()).CombinedOutput() + if err != nil { + t.Fatalf("generated runner is not valid Python (%s): %v\n%s", py, err, out) + } +} + +// pythonBinForTest prefers the project venv, falling back to python3 on PATH. +func pythonBinForTest() string { + for _, c := range []string{"../../python/.venv/bin/python3", "python3"} { + if c == "python3" { + return c + } + if _, err := os.Stat(c); err == nil { + return c + } + } + return "python3" +} + +// A "*args" var-positional marker must behave like the bare "*": skipped, and +// everything after it treated as keyword-only. +func TestParsePySignatureVarargsKeywordOnly(t *testing.T) { + sig := "def f(a: str, *args, b: int = 0) -> dict" + params := parsePySignature(sig) + + for _, p := range params { + if strings.HasPrefix(p.Name, "*") { + t.Fatalf("'*args' marker leaked as a param: %+v", params) + } + } + if len(params) != 2 { + t.Fatalf("got %d params, want 2: %+v", len(params), params) + } + got := map[string]bool{} + for _, p := range params { + got[p.Name] = p.KwOnly + } + if got["a"] != false || got["b"] != true { + t.Errorf("KwOnly mismatch: a=%v (want false), b=%v (want true)", got["a"], got["b"]) + } +} diff --git a/dev/issues/0051-extraction-pipeline-followups.md b/dev/issues/0051-extraction-pipeline-followups.md index d0fc03be..71565878 100644 --- a/dev/issues/0051-extraction-pipeline-followups.md +++ b/dev/issues/0051-extraction-pipeline-followups.md @@ -11,7 +11,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0051 — Funciones pendientes del pipeline de extraccion (NER+RE+OpenIE) diff --git a/dev/issues/0054-deploy-server-registry-first-refactor.md b/dev/issues/0054-deploy-server-registry-first-refactor.md index 43af6c71..480734f7 100644 --- a/dev/issues/0054-deploy-server-registry-first-refactor.md +++ b/dev/issues/0054-deploy-server-registry-first-refactor.md @@ -13,7 +13,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0054 — deploy_server: refactor registry-first (SSH/systemd/rsync/health/docker-compose) diff --git a/dev/issues/0055-docker-tui-registry-first-refactor.md b/dev/issues/0055-docker-tui-registry-first-refactor.md index b1d4bf5d..510b3570 100644 --- a/dev/issues/0055-docker-tui-registry-first-refactor.md +++ b/dev/issues/0055-docker-tui-registry-first-refactor.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0055 — docker_tui: refactor para usar funciones docker_* del registry diff --git a/dev/issues/0056-audit-python-nested-imports.md b/dev/issues/0056-audit-python-nested-imports.md index bedfdb97..beba18ee 100644 --- a/dev/issues/0056-audit-python-nested-imports.md +++ b/dev/issues/0056-audit-python-nested-imports.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0056 — audit_uses_functions: detectar imports Python anidados (`from pkg.subpkg import X`) diff --git a/dev/issues/0057-audit-go-symbol-naming.md b/dev/issues/0057-audit-go-symbol-naming.md index 6f7d9b11..9ffca427 100644 --- a/dev/issues/0057-audit-go-symbol-naming.md +++ b/dev/issues/0057-audit-go-symbol-naming.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0057 — audit_uses_functions: mejorar deteccion de simbolos Go con abreviaturas diff --git a/dev/issues/0060-fn-doctor-secrets-subcommand.md b/dev/issues/0060-fn-doctor-secrets-subcommand.md index a14df57d..0f5ac6b5 100644 --- a/dev/issues/0060-fn-doctor-secrets-subcommand.md +++ b/dev/issues/0060-fn-doctor-secrets-subcommand.md @@ -11,7 +11,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0060 — `fn doctor secrets`: scan de secrets en TODOS los repos diff --git a/dev/issues/0061-notify-telegram-integration.md b/dev/issues/0061-notify-telegram-integration.md index de1a5d76..9c3989d5 100644 --- a/dev/issues/0061-notify-telegram-integration.md +++ b/dev/issues/0061-notify-telegram-integration.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0061 — Integrar `notify_telegram` en deploy_server + bucle reactivo diff --git a/dev/issues/0071a-extract-claude-chat-panel.md b/dev/issues/0071a-extract-claude-chat-panel.md index 471166e6..13da1a65 100644 --- a/dev/issues/0071a-extract-claude-chat-panel.md +++ b/dev/issues/0071a-extract-claude-chat-panel.md @@ -7,8 +7,7 @@ domain: - registry-quality scope: registry-only priority: alta -depends: - - "0071f" +depends: ["0071f"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0071b-extract-jobs-queue-panel.md b/dev/issues/0071b-extract-jobs-queue-panel.md index 3eb61073..7b69c06c 100644 --- a/dev/issues/0071b-extract-jobs-queue-panel.md +++ b/dev/issues/0071b-extract-jobs-queue-panel.md @@ -7,8 +7,7 @@ domain: - registry-quality scope: registry-only priority: media -depends: - - "0071f" +depends: ["0071f"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0071f-extract-subprocess-streamer.md b/dev/issues/0071f-extract-subprocess-streamer.md index 81b1c6d3..7ac44b28 100644 --- a/dev/issues/0071f-extract-subprocess-streamer.md +++ b/dev/issues/0071f-extract-subprocess-streamer.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Contexto diff --git a/dev/issues/0071g-extract-app-db-init.md b/dev/issues/0071g-extract-app-db-init.md index 43a03c2a..e90d5cf4 100644 --- a/dev/issues/0071g-extract-app-db-init.md +++ b/dev/issues/0071g-extract-app-db-init.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Contexto diff --git a/dev/issues/0076-gradle_run-no-detecta-android-sdk-path.md b/dev/issues/0076-gradle_run-no-detecta-android-sdk-path.md index 250d04c6..b6b7b510 100644 --- a/dev/issues/0076-gradle_run-no-detecta-android-sdk-path.md +++ b/dev/issues/0076-gradle_run-no-detecta-android-sdk-path.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Sintoma diff --git a/dev/issues/0077-fn-run-bash-output-mudo.md b/dev/issues/0077-fn-run-bash-output-mudo.md index 383e4b2a..3e348a11 100644 --- a/dev/issues/0077-fn-run-bash-output-mudo.md +++ b/dev/issues/0077-fn-run-bash-output-mudo.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Sintoma diff --git a/dev/issues/0100-issues-frontmatter-migration.md b/dev/issues/0100-issues-frontmatter-migration.md index 7daada4f..f6ed6d48 100644 --- a/dev/issues/0100-issues-frontmatter-migration.md +++ b/dev/issues/0100-issues-frontmatter-migration.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0100 — Migrar frontmatter inline a YAML canonico en dev/issues/ diff --git a/dev/issues/0104-fix-issue-type-aware-dispatch.md b/dev/issues/0104-fix-issue-type-aware-dispatch.md index 823f6a43..8dc2f11e 100644 --- a/dev/issues/0104-fix-issue-type-aware-dispatch.md +++ b/dev/issues/0104-fix-issue-type-aware-dispatch.md @@ -16,7 +16,7 @@ related: - "0103" created: 2026-05-17 updated: 2026-05-17 -tags: [slash-command, dispatch, type-aware] +tags: [slash-command, dispatch, type-aware, ausente-ready] --- # 0104 — `/fix-issue` type-aware dispatch diff --git a/dev/issues/0107e-version-pinning-codegen.md b/dev/issues/0107e-version-pinning-codegen.md index 3f973aa9..695d012b 100644 --- a/dev/issues/0107e-version-pinning-codegen.md +++ b/dev/issues/0107e-version-pinning-codegen.md @@ -16,7 +16,7 @@ related: - "0107" created: 2026-05-17 updated: 2026-05-17 -tags: [modules, versioning, codegen, fail-loud] +tags: [modules, versioning, codegen, fail-loud, ausente-ready] --- # 0107e — Version pinning + codegen fail-loud diff --git a/dev/issues/0109k-skill-tree-dashboard-panel.md b/dev/issues/0109k-skill-tree-dashboard-panel.md index 29302dd0..a9c0c89c 100644 --- a/dev/issues/0109k-skill-tree-dashboard-panel.md +++ b/dev/issues/0109k-skill-tree-dashboard-panel.md @@ -15,12 +15,7 @@ related: - "0109" created: 2026-05-17 updated: 2026-05-17 -tags: - - skill-tree - - cpp - - imgui - - dashboard - - gamification +tags: [ausente-ready, skill-tree, cpp, imgui, dashboard, gamification] --- # 0109k — Dashboard panel diff --git a/dev/issues/0109m-issues-api-service.md b/dev/issues/0109m-issues-api-service.md index 5d374935..5826e8f7 100644 --- a/dev/issues/0109m-issues-api-service.md +++ b/dev/issues/0109m-issues-api-service.md @@ -16,13 +16,7 @@ related: - "0106" created: 2026-05-18 updated: 2026-05-18 -tags: - - service - - go - - http - - issues - - flows - - api +tags: [ausente-ready, service, go, http, issues, flows, api] --- # 0109m — issues_api service diff --git a/dev/issues/0121-e2e-checks-coverage-masa.md b/dev/issues/0121-e2e-checks-coverage-masa.md index 6434aa46..4a0b9370 100644 --- a/dev/issues/0121-e2e-checks-coverage-masa.md +++ b/dev/issues/0121-e2e-checks-coverage-masa.md @@ -16,7 +16,7 @@ related: - "0068" created: 2026-05-18 updated: 2026-05-19 -tags: [e2e_checks, recopilador, batch, coverage, epic] +tags: [e2e_checks, recopilador, batch, coverage, epic, ausente-ready] --- # Sub-issues diff --git a/dev/issues/0121a-design-e2e-batch.md b/dev/issues/0121a-design-e2e-batch.md index bfa8b70e..61c66ac8 100644 --- a/dev/issues/0121a-design-e2e-batch.md +++ b/dev/issues/0121a-design-e2e-batch.md @@ -16,7 +16,7 @@ related: - "0068" created: 2026-05-19 updated: 2026-05-19 -tags: [e2e_checks, recopilador, batch, design] +tags: [e2e_checks, recopilador, batch, design, ausente-ready] --- # 0121a — Design-e2e batch diff --git a/dev/issues/0121c-apply-e2e-proposals.md b/dev/issues/0121c-apply-e2e-proposals.md index 696eac88..bff1854f 100644 --- a/dev/issues/0121c-apply-e2e-proposals.md +++ b/dev/issues/0121c-apply-e2e-proposals.md @@ -7,9 +7,7 @@ domain: - registry-quality scope: registry priority: media -depends: - - "0121a" - - "0121b" +depends: ["0121a"] blocks: - "0122" related: diff --git a/dev/issues/0122-fn-revisor-auto-apply.md b/dev/issues/0122-fn-revisor-auto-apply.md index b99470c1..25438504 100644 --- a/dev/issues/0122-fn-revisor-auto-apply.md +++ b/dev/issues/0122-fn-revisor-auto-apply.md @@ -17,7 +17,7 @@ related: - "0086" created: 2026-05-18 updated: 2026-05-18 -tags: [revisor, mejorador, proposals, auto-apply, autonomous] +tags: [revisor, mejorador, proposals, auto-apply, autonomous, ausente-ready] --- # 0122 — fn-revisor + ampliar filtro auto-aplicable del orquestador diff --git a/dev/issues/0124-dag-engine-cleanup.md b/dev/issues/0124-dag-engine-cleanup.md index 64f52685..c198e92a 100644 --- a/dev/issues/0124-dag-engine-cleanup.md +++ b/dev/issues/0124-dag-engine-cleanup.md @@ -13,7 +13,7 @@ related: - "0121a" created: 2026-05-19 updated: 2026-05-19 -tags: [dag_engine, cleanup, technical-debt] +tags: [dag_engine, cleanup, technical-debt, ausente-ready] --- # 0124 — dag_engine cleanup diff --git a/dev/issues/0125-deploy-server-db-flag.md b/dev/issues/0125-deploy-server-db-flag.md index ef7144aa..10f53886 100644 --- a/dev/issues/0125-deploy-server-db-flag.md +++ b/dev/issues/0125-deploy-server-db-flag.md @@ -13,7 +13,7 @@ related: - "0121a" created: 2026-05-19 updated: 2026-05-19 -tags: [deploy_server, cli, idempotency] +tags: [deploy_server, cli, idempotency, ausente-ready] --- # 0125 — deploy_server `--db` flag diff --git a/dev/issues/0128-kanban-files-attachments.md b/dev/issues/0128-kanban-files-attachments.md index b2654640..130eedd0 100644 --- a/dev/issues/0128-kanban-files-attachments.md +++ b/dev/issues/0128-kanban-files-attachments.md @@ -1,7 +1,7 @@ --- id: "0128" title: "kanban: adjuntar archivos (drag&drop desc/chat + tab Archivos)" -status: in_progress +status: in-progress type: feature domain: - apps-tools diff --git a/dev/issues/0130a-kanban-cpp-v2-parser.md b/dev/issues/0130a-kanban-cpp-v2-parser.md index 97d3c93f..3172b9e6 100644 --- a/dev/issues/0130a-kanban-cpp-v2-parser.md +++ b/dev/issues/0130a-kanban-cpp-v2-parser.md @@ -13,12 +13,7 @@ blocks: - 0130b related: - "0130" -tags: - - registry - - go - - parser - - frontmatter - - fsnotify +tags: [registry, go, parser, frontmatter, fsnotify, ausente-ready] flow: "0130" created: "2026-05-22" updated: "2026-05-22" diff --git a/dev/issues/0130b-kanban-cpp-v2-backend.md b/dev/issues/0130b-kanban-cpp-v2-backend.md index e8bcecd8..32f1c6b5 100644 --- a/dev/issues/0130b-kanban-cpp-v2-backend.md +++ b/dev/issues/0130b-kanban-cpp-v2-backend.md @@ -8,8 +8,7 @@ domain: - dev-ux scope: app-scoped priority: alta -depends: - - "0130a" +depends: ["0130a"] blocks: - "0130c" related: diff --git a/dev/issues/0134-mesh-protocol-spec.md b/dev/issues/0134-mesh-protocol-spec.md index 1fded110..791614fa 100644 --- a/dev/issues/0134-mesh-protocol-spec.md +++ b/dev/issues/0134-mesh-protocol-spec.md @@ -1,14 +1,14 @@ --- id: "0134" title: "Mesh protocol spec: capability manifests, ed25519 envelopes, enrollment, audit chain" -status: pending +status: pendiente type: spec domain: - infra - cybersecurity - protocols scope: cross-app -priority: high +priority: alta depends: [] blocks: - "0135" diff --git a/dev/issues/0144-agent-per-machine-llm.md b/dev/issues/0144-agent-per-machine-llm.md index a6d824fa..a084b5d9 100644 --- a/dev/issues/0144-agent-per-machine-llm.md +++ b/dev/issues/0144-agent-per-machine-llm.md @@ -1,7 +1,7 @@ --- id: "0144" title: "Agent LLM per machine (user + sudo) con tool registry y mesh dispatch" -status: pending +status: pendiente type: spec domain: - agents @@ -9,7 +9,7 @@ domain: - infra - cybersecurity scope: multi-app -priority: high +priority: alta depends: - "0134" - "0140" diff --git a/dev/issues/0146-add-pc-oneshot-mesh-scaling.md b/dev/issues/0146-add-pc-oneshot-mesh-scaling.md index f2e766d6..c6368810 100644 --- a/dev/issues/0146-add-pc-oneshot-mesh-scaling.md +++ b/dev/issues/0146-add-pc-oneshot-mesh-scaling.md @@ -1,8 +1,8 @@ --- id: "0146" title: "add-pc one-shot: añade PC al mesh + agente LLM en <2min desde movil" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0009"] related_issues: ["0134", "0144", "0145"] diff --git a/dev/issues/0147-matrix-client-pc-scaffold.md b/dev/issues/0147-matrix-client-pc-scaffold.md index 45e5c7c6..066a2cc8 100644 --- a/dev/issues/0147-matrix-client-pc-scaffold.md +++ b/dev/issues/0147-matrix-client-pc-scaffold.md @@ -1,8 +1,8 @@ --- id: "0147" title: "matrix-client-pc scaffold: Wails + React+Mantine + login MAS" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0148", "0162"] diff --git a/dev/issues/0148-matrix-client-pc-rooms-timeline.md b/dev/issues/0148-matrix-client-pc-rooms-timeline.md index 555a8b77..dcc0b6a4 100644 --- a/dev/issues/0148-matrix-client-pc-rooms-timeline.md +++ b/dev/issues/0148-matrix-client-pc-rooms-timeline.md @@ -1,8 +1,8 @@ --- id: "0148" title: "matrix-client-pc rooms list + timeline con sync incremental" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0147", "0149"] diff --git a/dev/issues/0149-matrix-client-pc-composer.md b/dev/issues/0149-matrix-client-pc-composer.md index 8797bf19..40277506 100644 --- a/dev/issues/0149-matrix-client-pc-composer.md +++ b/dev/issues/0149-matrix-client-pc-composer.md @@ -1,8 +1,8 @@ --- id: "0149" title: "matrix-client-pc composer: markdown, reply, edit, reactions, media" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0148", "0150"] diff --git a/dev/issues/0150-matrix-client-pc-e2ee.md b/dev/issues/0150-matrix-client-pc-e2ee.md index cf7c4644..e5322605 100644 --- a/dev/issues/0150-matrix-client-pc-e2ee.md +++ b/dev/issues/0150-matrix-client-pc-e2ee.md @@ -1,8 +1,8 @@ --- id: "0150" title: "matrix-client-pc E2EE: cross-signing, SAS verification, recovery" -status: pending -priority: critical +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0149", "0151"] diff --git a/dev/issues/0151-matrix-client-pc-livekit-calls.md b/dev/issues/0151-matrix-client-pc-livekit-calls.md index 579dadf1..e0f0cf59 100644 --- a/dev/issues/0151-matrix-client-pc-livekit-calls.md +++ b/dev/issues/0151-matrix-client-pc-livekit-calls.md @@ -1,8 +1,8 @@ --- id: "0151" title: "matrix-client-pc calls LiveKit: 1:1 + grupales, mic/cam/screen" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0150", "0152"] diff --git a/dev/issues/0152-matrix-client-pc-mini-webapps.md b/dev/issues/0152-matrix-client-pc-mini-webapps.md index 57b98498..a4ff803e 100644 --- a/dev/issues/0152-matrix-client-pc-mini-webapps.md +++ b/dev/issues/0152-matrix-client-pc-mini-webapps.md @@ -1,8 +1,8 @@ --- id: "0152" title: "matrix-client-pc mini-webapps embebidas: Matrix Widget API v2" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010"] related_issues: ["0151", "0153"] diff --git a/dev/issues/0154-matrix-client-android-scaffold.md b/dev/issues/0154-matrix-client-android-scaffold.md index 074f4df4..9a35c577 100644 --- a/dev/issues/0154-matrix-client-android-scaffold.md +++ b/dev/issues/0154-matrix-client-android-scaffold.md @@ -1,8 +1,8 @@ --- id: "0154" title: "matrix-client-android scaffold: Kotlin + Compose + login MAS" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0155", "0162"] diff --git a/dev/issues/0155-matrix-client-android-rooms-timeline.md b/dev/issues/0155-matrix-client-android-rooms-timeline.md index 727e6dee..c5dc3c33 100644 --- a/dev/issues/0155-matrix-client-android-rooms-timeline.md +++ b/dev/issues/0155-matrix-client-android-rooms-timeline.md @@ -1,8 +1,8 @@ --- id: "0155" title: "matrix-client-android rooms list + timeline Compose" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0154", "0156"] diff --git a/dev/issues/0156-matrix-client-android-composer.md b/dev/issues/0156-matrix-client-android-composer.md index 99548a66..411d24ae 100644 --- a/dev/issues/0156-matrix-client-android-composer.md +++ b/dev/issues/0156-matrix-client-android-composer.md @@ -1,8 +1,8 @@ --- id: "0156" title: "matrix-client-android composer: markdown, replies, edits, reactions, media" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0155", "0157"] diff --git a/dev/issues/0157-matrix-client-android-e2ee.md b/dev/issues/0157-matrix-client-android-e2ee.md index 32e75e73..801e1151 100644 --- a/dev/issues/0157-matrix-client-android-e2ee.md +++ b/dev/issues/0157-matrix-client-android-e2ee.md @@ -1,8 +1,8 @@ --- id: "0157" title: "matrix-client-android E2EE rust-sdk: cross-signing, SAS, recovery" -status: pending -priority: critical +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0156", "0158"] diff --git a/dev/issues/0158-matrix-client-android-livekit-calls.md b/dev/issues/0158-matrix-client-android-livekit-calls.md index 8166155b..77739f64 100644 --- a/dev/issues/0158-matrix-client-android-livekit-calls.md +++ b/dev/issues/0158-matrix-client-android-livekit-calls.md @@ -1,8 +1,8 @@ --- id: "0158" title: "matrix-client-android calls LiveKit nativo: mic/cam/screen + PiP" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0157", "0159", "0161"] diff --git a/dev/issues/0159-matrix-client-android-push-fcm.md b/dev/issues/0159-matrix-client-android-push-fcm.md index 9984457d..190f649f 100644 --- a/dev/issues/0159-matrix-client-android-push-fcm.md +++ b/dev/issues/0159-matrix-client-android-push-fcm.md @@ -1,8 +1,8 @@ --- id: "0159" title: "matrix-client-android push FCM via sygnal + Firebase setup" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0158", "0160"] diff --git a/dev/issues/0160-matrix-client-android-mini-webapps.md b/dev/issues/0160-matrix-client-android-mini-webapps.md index e3ff733d..48f5e965 100644 --- a/dev/issues/0160-matrix-client-android-mini-webapps.md +++ b/dev/issues/0160-matrix-client-android-mini-webapps.md @@ -1,8 +1,8 @@ --- id: "0160" title: "matrix-client-android mini-webapps: WebView + Widget API v2 bridge" -status: pending -priority: medium +status: pendiente +priority: media created: 2026-05-24 related_flows: ["0011"] related_issues: ["0159", "0161"] diff --git a/dev/issues/0161-matrix-client-android-foreground-service.md b/dev/issues/0161-matrix-client-android-foreground-service.md index 97952f2d..bda12c68 100644 --- a/dev/issues/0161-matrix-client-android-foreground-service.md +++ b/dev/issues/0161-matrix-client-android-foreground-service.md @@ -1,8 +1,8 @@ --- id: "0161" title: "matrix-client-android foreground service: calls + lifecycle + lockscreen" -status: pending -priority: high +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0011"] related_issues: ["0158", "0160"] diff --git a/dev/issues/0162-matrix-enable-mas-delegated-auth.md b/dev/issues/0162-matrix-enable-mas-delegated-auth.md index 035128e0..ed907fe1 100644 --- a/dev/issues/0162-matrix-enable-mas-delegated-auth.md +++ b/dev/issues/0162-matrix-enable-mas-delegated-auth.md @@ -1,8 +1,8 @@ --- id: "0162" title: "Matrix: migrar Synapse a MAS como unico auth provider (MSC3861)" -status: pending -priority: critical +status: pendiente +priority: alta created: 2026-05-24 related_flows: ["0010", "0011"] related_issues: ["0147", "0154", "0163"] diff --git a/dev/issues/0163-matrix-custom-admin-panel.md b/dev/issues/0163-matrix-custom-admin-panel.md index cfa35a40..08a5cc96 100644 --- a/dev/issues/0163-matrix-custom-admin-panel.md +++ b/dev/issues/0163-matrix-custom-admin-panel.md @@ -1,8 +1,8 @@ --- id: "0163" title: "Matrix admin panel propio: users, rooms, devices, sessions (sustituye synapse-admin)" -status: pending -priority: medium +status: pendiente +priority: media created: 2026-05-24 related_flows: ["0010", "0011"] related_issues: ["0162", "0147"] diff --git a/dev/issues/0179-dev-console-recursive-issue-scan.md b/dev/issues/0179-dev-console-recursive-issue-scan.md new file mode 100644 index 00000000..86ebac51 --- /dev/null +++ b/dev/issues/0179-dev-console-recursive-issue-scan.md @@ -0,0 +1,45 @@ +--- +id: "0179" +title: "dev_console: escaneo recursivo de dev/issues/ (subcarpetas por dominio)" +status: in-progress +type: bugfix +domain: + - meta +scope: app-scoped +priority: media +depends: [] +blocks: [] +related: [] +created: 2026-06-30 +updated: 2026-06-30 +tags: [ausente-ready] +--- +# 0179 — dev_console: escaneo recursivo de dev/issues/ + +## Contexto + +Los issues activos se reorganizaron en subcarpetas por dominio dentro de `dev/issues/` (`kanban/`, `trading/`, `gamedev/`, `cpp/`, `matrix/`, `imagegen/`) para descongestionar el listado plano. El skill `/issue` ya se actualizó a glob recursivo (`dev/issues/**/*.md`, excluyendo `completed/`). Falta alinear el binario `dev_console`, que carga los issues con `LoadAllIssues(root)` / `LoadOpenIssues(root)` en `apps/dev_console/` y hoy no recorre subcarpetas — por lo que no ve los 49 issues movidos. + +## Objetivo + +Que `dev_console issue list/board/work` y los flujos que dependen de `LoadAllIssues`/`LoadOpenIssues` recorran `dev/issues/` de forma recursiva, excluyendo `dev/issues/completed/`, manteniendo el resto del comportamiento idéntico. + +## Tareas + +- [ ] Localizar la implementación de `LoadAllIssues` / `LoadOpenIssues` en `apps/dev_console/` (probable `parser.go` o equivalente). +- [ ] Cambiar el escaneo a `filepath.WalkDir` (o glob recursivo) bajo `dev/issues/`, saltando el directorio `completed/`. +- [ ] Mantener el orden de salida estable (ordenar por `id`). +- [ ] Recompilar el binario en el sub-repo de `dev_console` siguiendo TBD (`issue/0179-...`). + +## Definition of Done + +| Escenario | Tipo | Comando / evidencia | Resultado esperado | +|---|---|---|---| +| Golden: lista incluye subcarpetas | e2e | `./apps/dev_console/dev_console issue list` | Aparecen issues de `cpp/`, `kanban/`, `trading/`, etc. (>= 49 que antes faltaban) | +| Edge: excluye completed/ | e2e | `dev_console issue list` | Ningún issue con `status: completado` de `completed/` aparece en el listado activo | +| Edge: conteo total coincide con /issue | e2e | comparar conteo con el glob recursivo de `/issue` | Mismo total de activos | +| Error: dev/issues vacío o ausente | unit | run en dir sin `dev/issues/` | Error claro, no panic | + +## Notas + +Hermano del cambio ya hecho en `.claude/commands/issue.md` (glob `**/*.md`). Hasta cerrar este issue, usar `/issue` (no `dev_console`) para vistas completas del backlog. diff --git a/dev/issues/0180-ausente-issues-queue-dag.md b/dev/issues/0180-ausente-issues-queue-dag.md new file mode 100644 index 00000000..5a57ce44 --- /dev/null +++ b/dev/issues/0180-ausente-issues-queue-dag.md @@ -0,0 +1,59 @@ +--- +id: "0180" +title: "Modo ausente sobre la cola de issues: parametrizar /ausente + DAG dag_engine + validación" +status: pendiente +type: infra +domain: + - meta +scope: multi-app +priority: alta +depends: ["0179"] +blocks: [] +related: [] +created: 2026-06-30 +updated: 2026-06-30 +tags: [] +--- +# 0180 — Modo ausente sobre la cola de issues (parametrizar /ausente + DAG + validación) + +## Contexto + +Modelo de colaboración acordado (ver memoria `modelo-colaboracion-ausente`): durante la jornada de oficina (L–J 10–14 / 15–19, V 10–16) y la noche (01–09), Claude trabaja en `/ausente` la cola de issues `ausente-ready` (39 issues hoy), sin supervisión. La curación del backlog ya está hecha (triage, taxonomía, deps de series formalizadas, tag `ausente-ready`). + +Faltan 3 piezas para automatizarlo de forma segura. + +## Problemas a resolver + +1. **`/ausente` está acoplado al roadmap ComfyUI.** El skill (`.claude/commands/ausente.md`) hardcodea su backlog a funciones ComfyUI (secciones "Configuración" y "Backlog del roadmap ComfyUI"). Hay que **parametrizar la fuente de tareas** para que pueda tomar la cola de issues: la siguiente tarea = primer issue de `/issue list -t ausente-ready` cuyas `depends` estén todas en `completed/`, re-cruzando deps en cada ciclo (un issue se libera cuando su dep se cierra). +2. **Lanzamiento headless desde dag_engine.** `dag_engine` ejecuta steps (command/script/function), no abre una sesión Claude interactiva. Hay que resolver cómo un step arranca una sesión `role=orchestrator` en modo `/ausente` (candidatos: `launch_claude_agent_kitty_bash_infra` con DISPLAY, o `spawn_fleet_agent_bash_infra` si hay sesión tmux fleet) con el prompt autónomo + presupuesto. +3. **Presupuesto conservador aplicado.** Tope: 1–2 ejecutores concurrentes, solo issues S/M, ~1M tokens por franja, parada al llegar. Materializar el tope de tokens (hoy `orchestration.md` solo fija fan-out=6). + +## Schedule objetivo (cuando se active) + +- Inicio de franjas de oficina: `0 10 * * 1-5` (10:00 L–V) y `0 15 * * 1-4` (15:00 L–J, tras comida). +- Nocturno: `0 1 * * *` (01:00 diario). +- El modo, una vez lanzado, itera con `ScheduleWakeup` hasta que el humano vuelve (para al recibir prompt humano). + +Borrador del DAG: `apps/dag_engine/dags/ausente-issues-queue.yaml` (creado como DRAFT sin schedule activo). + +## Definition of Done + +| Escenario | Tipo | Comando / evidencia | Resultado esperado | +|---|---|---|---| +| Golden: corrida manual | e2e | lanzar `/ausente` con backlog=issues sobre 1 issue S de la cola | Coge el issue, lo implementa en worktree/sub-repo aislado, cierra DoD verde (golden+edge+error), push, bitácora actualizada | +| Edge: dep no satisfecha | e2e | cola con un issue cuya `depends` sigue activa | NO lo coge; pasa al siguiente arrancable | +| Edge: flota llena | e2e | 2 ejecutores activos (tope conservador) | Encola el resto, no lanza el 3.º | +| Error: presupuesto agotado | e2e | tope de tokens alcanzado | Para limpio, deja bitácora con lo pendiente, no deja agentes huérfanos | +| Vida útil | observabilidad | tras activar cron, 1 semana | Issues cerrados/semana > 0, 0 merges rotos a master, bitácora legible | + +## Plan + +1. Cerrar `0179` (dev_console recursivo) — dependencia. +2. Parametrizar `/ausente` (fuente de backlog = issues ausente-ready | roadmap; pasar la fuente al invocar). +3. Resolver el step de lanzamiento headless + presupuesto de tokens. +4. **Validación manual** (golden + edges) antes de activar el cron. +5. Activar schedule en el DAG + `systemctl --user restart dag_engine.service` con `--scheduler`. + +## Notas + +Este issue NO es `ausente-ready` a propósito: requiere decisiones de diseño humanas (mecanismo de lanzamiento, forma del presupuesto) y toca el propio sistema que orquesta el modo ausente. Se hace JUNTOS, no desatendido. diff --git a/dev/issues/0059-nested-app-md-tracking.md b/dev/issues/completed/0059-nested-app-md-tracking.md similarity index 99% rename from dev/issues/0059-nested-app-md-tracking.md rename to dev/issues/completed/0059-nested-app-md-tracking.md index 94da5346..60aa1986 100644 --- a/dev/issues/0059-nested-app-md-tracking.md +++ b/dev/issues/completed/0059-nested-app-md-tracking.md @@ -1,7 +1,7 @@ --- id: "0059" title: "Resolver doble tracking de `apps/*/app.md` (fn_registry + sub-repo)" -status: pendiente +status: completado type: infra domain: - registry-quality diff --git a/dev/issues/0067-odr-osint-prereqs-roadmap.md b/dev/issues/completed/0067-odr-osint-prereqs-roadmap.md similarity index 99% rename from dev/issues/0067-odr-osint-prereqs-roadmap.md rename to dev/issues/completed/0067-odr-osint-prereqs-roadmap.md index 65dc38d0..12216b44 100644 --- a/dev/issues/0067-odr-osint-prereqs-roadmap.md +++ b/dev/issues/completed/0067-odr-osint-prereqs-roadmap.md @@ -1,7 +1,7 @@ --- id: "55" title: "Roadmap de prereqs — issues de osint_graph que odr_console necesita antes/durante MVP" -status: pendiente +status: deferred type: epic domain: - osint diff --git a/dev/issues/0068-e2e-validation-loop-fn4-fn5.md b/dev/issues/completed/0068-e2e-validation-loop-fn4-fn5.md similarity index 100% rename from dev/issues/0068-e2e-validation-loop-fn4-fn5.md rename to dev/issues/completed/0068-e2e-validation-loop-fn4-fn5.md diff --git a/dev/issues/0069-autonomous-agent-loop-self-iterating-tasks.md b/dev/issues/completed/0069-autonomous-agent-loop-self-iterating-tasks.md similarity index 100% rename from dev/issues/0069-autonomous-agent-loop-self-iterating-tasks.md rename to dev/issues/completed/0069-autonomous-agent-loop-self-iterating-tasks.md diff --git a/dev/issues/0072l-gamedev-scripting-optional.md b/dev/issues/completed/0072l-gamedev-scripting-optional.md similarity index 100% rename from dev/issues/0072l-gamedev-scripting-optional.md rename to dev/issues/completed/0072l-gamedev-scripting-optional.md diff --git a/dev/issues/0085-registry-call-standardization-and-usage-tracking.md b/dev/issues/completed/0085-registry-call-standardization-and-usage-tracking.md similarity index 100% rename from dev/issues/0085-registry-call-standardization-and-usage-tracking.md rename to dev/issues/completed/0085-registry-call-standardization-and-usage-tracking.md diff --git a/dev/issues/0086-claude-md-delegation-and-capability-groups.md b/dev/issues/completed/0086-claude-md-delegation-and-capability-groups.md similarity index 100% rename from dev/issues/0086-claude-md-delegation-and-capability-groups.md rename to dev/issues/completed/0086-claude-md-delegation-and-capability-groups.md diff --git a/dev/issues/0087-capability-discovery-acceleration.md b/dev/issues/completed/0087-capability-discovery-acceleration.md similarity index 99% rename from dev/issues/0087-capability-discovery-acceleration.md rename to dev/issues/completed/0087-capability-discovery-acceleration.md index b1318dd1..4530327f 100644 --- a/dev/issues/0087-capability-discovery-acceleration.md +++ b/dev/issues/completed/0087-capability-discovery-acceleration.md @@ -1,7 +1,7 @@ --- id: "0087" title: "Capability Discovery Acceleration" -status: pendiente +status: completado type: feature domain: - meta diff --git a/dev/issues/0096-standardize-app-locations.md b/dev/issues/completed/0096-standardize-app-locations.md similarity index 99% rename from dev/issues/0096-standardize-app-locations.md rename to dev/issues/completed/0096-standardize-app-locations.md index 22c15c19..20493015 100644 --- a/dev/issues/0096-standardize-app-locations.md +++ b/dev/issues/completed/0096-standardize-app-locations.md @@ -1,7 +1,7 @@ --- id: "0096" title: "Estandarizar ubicacion de apps: fuera de carpetas por lenguaje" -status: pendiente +status: completado type: feature domain: - apps-infra diff --git a/dev/issues/0101-dev-console-binary.md b/dev/issues/completed/0101-dev-console-binary.md similarity index 99% rename from dev/issues/0101-dev-console-binary.md rename to dev/issues/completed/0101-dev-console-binary.md index 5c8126f4..d912e24d 100644 --- a/dev/issues/0101-dev-console-binary.md +++ b/dev/issues/completed/0101-dev-console-binary.md @@ -1,7 +1,7 @@ --- id: "0101" title: "dev_console Go binario: /issue /flow /work unificados" -status: pendiente +status: completado type: app domain: - meta diff --git a/dev/issues/0103-taxonomy-and-slash-commands.md b/dev/issues/completed/0103-taxonomy-and-slash-commands.md similarity index 99% rename from dev/issues/0103-taxonomy-and-slash-commands.md rename to dev/issues/completed/0103-taxonomy-and-slash-commands.md index 3f871235..71d8a35d 100644 --- a/dev/issues/0103-taxonomy-and-slash-commands.md +++ b/dev/issues/completed/0103-taxonomy-and-slash-commands.md @@ -1,7 +1,7 @@ --- id: "0103" title: "Taxonomia + slash commands /issue /flow /work" -status: pendiente +status: completado type: feature domain: - meta diff --git a/dev/issues/0105-service-frontmatter-standardization.md b/dev/issues/completed/0105-service-frontmatter-standardization.md similarity index 99% rename from dev/issues/0105-service-frontmatter-standardization.md rename to dev/issues/completed/0105-service-frontmatter-standardization.md index 212a499e..780146c0 100644 --- a/dev/issues/0105-service-frontmatter-standardization.md +++ b/dev/issues/completed/0105-service-frontmatter-standardization.md @@ -1,7 +1,7 @@ --- id: "0105" title: "Estandarizar bloque service: en app.md + indexer + fn doctor services-spec" -status: in-progress +status: completado type: feature domain: - meta diff --git a/dev/issues/0109g-skill-tree-embedded-terminal.md b/dev/issues/completed/0109g-skill-tree-embedded-terminal.md similarity index 99% rename from dev/issues/0109g-skill-tree-embedded-terminal.md rename to dev/issues/completed/0109g-skill-tree-embedded-terminal.md index 0e052d79..41b52dc2 100644 --- a/dev/issues/0109g-skill-tree-embedded-terminal.md +++ b/dev/issues/completed/0109g-skill-tree-embedded-terminal.md @@ -1,7 +1,7 @@ --- id: "0109g" title: "skill_tree: panel terminal embebida (claude TUI dentro de la app)" -status: pendiente +status: deferred type: feature domain: - meta diff --git a/dev/issues/completed/0114-dod-evidence-schema.md b/dev/issues/completed/0114-dod-evidence-schema.md index 2b588cd8..710893d5 100644 --- a/dev/issues/completed/0114-dod-evidence-schema.md +++ b/dev/issues/completed/0114-dod-evidence-schema.md @@ -19,7 +19,7 @@ related: - "0102" created: 2026-05-18 updated: 2026-05-18 -tags: [dod, evidence, frontmatter, taxonomy, validator] +tags: [dod, evidence, frontmatter, taxonomy, validator, ausente-ready] flow: "0008" --- diff --git a/dev/issues/completed/0128-agents-and-robots-http-api-sse.md b/dev/issues/completed/0128-agents-and-robots-http-api-sse.md index 969aa381..a5ad4681 100644 --- a/dev/issues/completed/0128-agents-and-robots-http-api-sse.md +++ b/dev/issues/completed/0128-agents-and-robots-http-api-sse.md @@ -15,7 +15,7 @@ blocks: related: [] created: 2026-05-22 updated: 2026-05-22 -tags: [agents_and_robots, http, sse, apikey, traefik, systemd] +tags: [agents_and_robots, http, sse, apikey, traefik, systemd, ausente-ready] dod_evidence_schema: - id: build_ok kind: cmd diff --git a/dev/issues/0153-matrix-client-pc-agent-integration.md b/dev/issues/completed/0153-matrix-client-pc-agent-integration.md similarity index 99% rename from dev/issues/0153-matrix-client-pc-agent-integration.md rename to dev/issues/completed/0153-matrix-client-pc-agent-integration.md index d76bcd43..d38c0d1f 100644 --- a/dev/issues/0153-matrix-client-pc-agent-integration.md +++ b/dev/issues/completed/0153-matrix-client-pc-agent-integration.md @@ -1,7 +1,7 @@ --- id: "0153" title: "matrix-client-pc agent integration: paneles para rooms operados por agentes" -status: pending +status: deferred priority: medium created: 2026-05-24 related_flows: ["0010", "0009"] diff --git a/dev/issues/0164-agents-cryptohelper-init-hang.md b/dev/issues/completed/0164-agents-cryptohelper-init-hang.md similarity index 99% rename from dev/issues/0164-agents-cryptohelper-init-hang.md rename to dev/issues/completed/0164-agents-cryptohelper-init-hang.md index e87db499..852c0c4a 100644 --- a/dev/issues/0164-agents-cryptohelper-init-hang.md +++ b/dev/issues/completed/0164-agents-cryptohelper-init-hang.md @@ -1,7 +1,7 @@ --- id: "0164" title: "Bots agents_and_robots: cryptohelper.Init() cuelga al habilitar encryption=true" -status: pending +status: deferred priority: high created: 2026-05-24 related_flows: ["0009"] diff --git a/dev/issues/completed/0166-matrix-livekit-turn-deploy.md b/dev/issues/completed/0166-matrix-livekit-turn-deploy.md index b222dc1b..0d7b498b 100644 --- a/dev/issues/completed/0166-matrix-livekit-turn-deploy.md +++ b/dev/issues/completed/0166-matrix-livekit-turn-deploy.md @@ -12,7 +12,7 @@ blocks: [] related: ["0167", "0168"] created: 2026-05-24 updated: 2026-05-24 -tags: [matrix, livekit, webrtc, turn, nat] +tags: [matrix, livekit, webrtc, turn, nat, ausente-ready] --- # 0166 — Desplegar TURN para LiveKit (coturn o integrado) diff --git a/dev/issues/0171-project-subrepo-manifest-and-reclone.md b/dev/issues/completed/0171-project-subrepo-manifest-and-reclone.md similarity index 99% rename from dev/issues/0171-project-subrepo-manifest-and-reclone.md rename to dev/issues/completed/0171-project-subrepo-manifest-and-reclone.md index 24924afe..53137229 100644 --- a/dev/issues/0171-project-subrepo-manifest-and-reclone.md +++ b/dev/issues/completed/0171-project-subrepo-manifest-and-reclone.md @@ -1,7 +1,7 @@ --- id: "0171" title: "Manifest de sub-repos por project + re-clonado y auditoría de cobertura en Gitea" -status: pendiente +status: completado type: enhancement domain: - registry-quality diff --git a/dev/issues/0173-eda-correctitud-estadistica-critica.md b/dev/issues/completed/0173-eda-correctitud-estadistica-critica.md similarity index 99% rename from dev/issues/0173-eda-correctitud-estadistica-critica.md rename to dev/issues/completed/0173-eda-correctitud-estadistica-critica.md index 90ab0072..03640d6f 100644 --- a/dev/issues/0173-eda-correctitud-estadistica-critica.md +++ b/dev/issues/completed/0173-eda-correctitud-estadistica-critica.md @@ -1,7 +1,7 @@ --- id: "0173" title: "EDA: bugs críticos de correctitud estadística (outlier_pct ×100, distribution_type por-skew)" -status: resuelto +status: completado type: bugfix domain: - registry-quality diff --git a/dev/issues/0174-eda-series-periodo-estacional-niveles.md b/dev/issues/completed/0174-eda-series-periodo-estacional-niveles.md similarity index 99% rename from dev/issues/0174-eda-series-periodo-estacional-niveles.md rename to dev/issues/completed/0174-eda-series-periodo-estacional-niveles.md index 65afe5d6..138573ef 100644 --- a/dev/issues/0174-eda-series-periodo-estacional-niveles.md +++ b/dev/issues/completed/0174-eda-series-periodo-estacional-niveles.md @@ -1,7 +1,7 @@ --- id: "0174" title: "EDA series temporales: período estacional roto + correlación de niveles + to_returns ciego" -status: resuelto +status: completado type: bugfix domain: - registry-quality diff --git a/dev/issues/0175-eda-relational-fk-inference-views.md b/dev/issues/completed/0175-eda-relational-fk-inference-views.md similarity index 99% rename from dev/issues/0175-eda-relational-fk-inference-views.md rename to dev/issues/completed/0175-eda-relational-fk-inference-views.md index 19bfd2d6..866e2514 100644 --- a/dev/issues/0175-eda-relational-fk-inference-views.md +++ b/dev/issues/completed/0175-eda-relational-fk-inference-views.md @@ -1,7 +1,7 @@ --- id: "0175" title: "EDA relational: precisión de FK inference (falsos positivos) + filtrar VIEWs + test ATTACH" -status: resuelto +status: completado type: bugfix domain: - registry-quality diff --git a/dev/issues/0176-eda-render-models-series-caveats-pdf.md b/dev/issues/completed/0176-eda-render-models-series-caveats-pdf.md similarity index 99% rename from dev/issues/0176-eda-render-models-series-caveats-pdf.md rename to dev/issues/completed/0176-eda-render-models-series-caveats-pdf.md index 52f655af..61b0ac22 100644 --- a/dev/issues/0176-eda-render-models-series-caveats-pdf.md +++ b/dev/issues/completed/0176-eda-render-models-series-caveats-pdf.md @@ -1,7 +1,7 @@ --- id: "0176" title: "EDA render: models/series/caveats en markdown+PDF + PDF para profile_database" -status: resuelto +status: completado type: feature domain: - registry-quality diff --git a/dev/issues/0177-eda-tipos-id-secuencial-eta-cuadrado.md b/dev/issues/completed/0177-eda-tipos-id-secuencial-eta-cuadrado.md similarity index 99% rename from dev/issues/0177-eda-tipos-id-secuencial-eta-cuadrado.md rename to dev/issues/completed/0177-eda-tipos-id-secuencial-eta-cuadrado.md index 6694c7eb..9f070680 100644 --- a/dev/issues/0177-eda-tipos-id-secuencial-eta-cuadrado.md +++ b/dev/issues/completed/0177-eda-tipos-id-secuencial-eta-cuadrado.md @@ -1,7 +1,7 @@ --- id: "0177" title: "EDA tipos: id secuencial fuera de correlación/PCA + η² espurio por cardinalidad + re-expresión no-continuas" -status: resuelto +status: completado type: bugfix domain: - registry-quality diff --git a/dev/issues/0027-cpp-gl-compute-pingpong.md b/dev/issues/cpp/0027-cpp-gl-compute-pingpong.md similarity index 100% rename from dev/issues/0027-cpp-gl-compute-pingpong.md rename to dev/issues/cpp/0027-cpp-gl-compute-pingpong.md diff --git a/dev/issues/0030-cpp-audio-reactive.md b/dev/issues/cpp/0030-cpp-audio-reactive.md similarity index 100% rename from dev/issues/0030-cpp-audio-reactive.md rename to dev/issues/cpp/0030-cpp-audio-reactive.md diff --git a/dev/issues/0033-cpp-http-ws-inspector.md b/dev/issues/cpp/0033-cpp-http-ws-inspector.md similarity index 99% rename from dev/issues/0033-cpp-http-ws-inspector.md rename to dev/issues/cpp/0033-cpp-http-ws-inspector.md index efecd4bc..b94c9910 100644 --- a/dev/issues/0033-cpp-http-ws-inspector.md +++ b/dev/issues/cpp/0033-cpp-http-ws-inspector.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0033 — C++ http_inspector + websocket_client diff --git a/dev/issues/0035-cpp-map-tiles.md b/dev/issues/cpp/0035-cpp-map-tiles.md similarity index 100% rename from dev/issues/0035-cpp-map-tiles.md rename to dev/issues/cpp/0035-cpp-map-tiles.md diff --git a/dev/issues/0036-cpp-image-canvas-webcam.md b/dev/issues/cpp/0036-cpp-image-canvas-webcam.md similarity index 100% rename from dev/issues/0036-cpp-image-canvas-webcam.md rename to dev/issues/cpp/0036-cpp-image-canvas-webcam.md diff --git a/dev/issues/0071-extract-reusable-cpp-panels-roadmap.md b/dev/issues/cpp/0071-extract-reusable-cpp-panels-roadmap.md similarity index 100% rename from dev/issues/0071-extract-reusable-cpp-panels-roadmap.md rename to dev/issues/cpp/0071-extract-reusable-cpp-panels-roadmap.md diff --git a/dev/issues/0072a-gamedev-smoke-sdl3-sokol-imgui.md b/dev/issues/cpp/0072a-gamedev-smoke-sdl3-sokol-imgui.md similarity index 99% rename from dev/issues/0072a-gamedev-smoke-sdl3-sokol-imgui.md rename to dev/issues/cpp/0072a-gamedev-smoke-sdl3-sokol-imgui.md index d743ceed..8eeedf62 100644 --- a/dev/issues/0072a-gamedev-smoke-sdl3-sokol-imgui.md +++ b/dev/issues/cpp/0072a-gamedev-smoke-sdl3-sokol-imgui.md @@ -13,10 +13,7 @@ blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: - - gamedev - - cpp - - wasm +tags: [ausente-ready, gamedev, cpp, wasm] --- ## Objetivo diff --git a/dev/issues/0082-compile-sd-cpp-binary.md b/dev/issues/cpp/0082-compile-sd-cpp-binary.md similarity index 99% rename from dev/issues/0082-compile-sd-cpp-binary.md rename to dev/issues/cpp/0082-compile-sd-cpp-binary.md index 67c506ba..781556cb 100644 --- a/dev/issues/0082-compile-sd-cpp-binary.md +++ b/dev/issues/cpp/0082-compile-sd-cpp-binary.md @@ -13,7 +13,7 @@ blocks: [] related: [] created: 2026-05-13 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Objetivo diff --git a/dev/issues/0095-dag-engine-cpp-imgui-frontend.md b/dev/issues/cpp/0095-dag-engine-cpp-imgui-frontend.md similarity index 100% rename from dev/issues/0095-dag-engine-cpp-imgui-frontend.md rename to dev/issues/cpp/0095-dag-engine-cpp-imgui-frontend.md diff --git a/dev/issues/0110-cpp-http-client-helper.md b/dev/issues/cpp/0110-cpp-http-client-helper.md similarity index 98% rename from dev/issues/0110-cpp-http-client-helper.md rename to dev/issues/cpp/0110-cpp-http-client-helper.md index df4bd17d..de83a59d 100644 --- a/dev/issues/0110-cpp-http-client-helper.md +++ b/dev/issues/cpp/0110-cpp-http-client-helper.md @@ -15,7 +15,7 @@ related: - "0106" created: 2026-05-18 updated: 2026-05-18 -tags: [http, cpp, registry-gap, curl, helper] +tags: [http, cpp, registry-gap, curl, helper, ausente-ready] --- # 0110 — Helper HTTP cliente C++ en el registry diff --git a/dev/issues/0130-kanban-cpp-v2.md b/dev/issues/cpp/0130-kanban-cpp-v2.md similarity index 100% rename from dev/issues/0130-kanban-cpp-v2.md rename to dev/issues/cpp/0130-kanban-cpp-v2.md diff --git a/dev/issues/0130c-kanban-cpp-v2-frontend.md b/dev/issues/cpp/0130c-kanban-cpp-v2-frontend.md similarity index 99% rename from dev/issues/0130c-kanban-cpp-v2-frontend.md rename to dev/issues/cpp/0130c-kanban-cpp-v2-frontend.md index 793bd1a5..3cb5a246 100644 --- a/dev/issues/0130c-kanban-cpp-v2-frontend.md +++ b/dev/issues/cpp/0130c-kanban-cpp-v2-frontend.md @@ -8,8 +8,7 @@ domain: - dev-ux scope: app-scoped priority: alta -depends: - - "0130b" +depends: ["0130b"] blocks: [] related: - "0130" diff --git a/dev/issues/0131-cpp-module-chat-panel.md b/dev/issues/cpp/0131-cpp-module-chat-panel.md similarity index 100% rename from dev/issues/0131-cpp-module-chat-panel.md rename to dev/issues/cpp/0131-cpp-module-chat-panel.md diff --git a/dev/issues/0132-cpp-module-terminal-panel.md b/dev/issues/cpp/0132-cpp-module-terminal-panel.md similarity index 98% rename from dev/issues/0132-cpp-module-terminal-panel.md rename to dev/issues/cpp/0132-cpp-module-terminal-panel.md index 169da72b..8953892f 100644 --- a/dev/issues/0132-cpp-module-terminal-panel.md +++ b/dev/issues/cpp/0132-cpp-module-terminal-panel.md @@ -16,7 +16,7 @@ related: - "0131" created: 2026-05-22 updated: 2026-05-22 -tags: [cpp, imgui, terminal, pty, module] +tags: [cpp, imgui, terminal, pty, module, ausente-ready] flow: "" --- diff --git a/dev/issues/0133-cpp-data-table-10m-rows.md b/dev/issues/cpp/0133-cpp-data-table-10m-rows.md similarity index 100% rename from dev/issues/0133-cpp-data-table-10m-rows.md rename to dev/issues/cpp/0133-cpp-data-table-10m-rows.md diff --git a/dev/issues/0072-gamedev-stack-roadmap.md b/dev/issues/gamedev/0072-gamedev-stack-roadmap.md similarity index 100% rename from dev/issues/0072-gamedev-stack-roadmap.md rename to dev/issues/gamedev/0072-gamedev-stack-roadmap.md diff --git a/dev/issues/0072b-gamedev-runtime-core.md b/dev/issues/gamedev/0072b-gamedev-runtime-core.md similarity index 99% rename from dev/issues/0072b-gamedev-runtime-core.md rename to dev/issues/gamedev/0072b-gamedev-runtime-core.md index abdcc5c5..ac689902 100644 --- a/dev/issues/0072b-gamedev-runtime-core.md +++ b/dev/issues/gamedev/0072b-gamedev-runtime-core.md @@ -7,8 +7,7 @@ domain: - gamedev scope: multi-app priority: alta -depends: - - "0072a" +depends: ["0072a"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072c-gamedev-asset-pipeline.md b/dev/issues/gamedev/0072c-gamedev-asset-pipeline.md similarity index 99% rename from dev/issues/0072c-gamedev-asset-pipeline.md rename to dev/issues/gamedev/0072c-gamedev-asset-pipeline.md index 4dfcfacd..dcc3084f 100644 --- a/dev/issues/0072c-gamedev-asset-pipeline.md +++ b/dev/issues/gamedev/0072c-gamedev-asset-pipeline.md @@ -7,8 +7,7 @@ domain: - gamedev scope: multi-app priority: alta -depends: - - "0072b" +depends: ["0072b"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072d-gamedev-wasm-build-size-budget.md b/dev/issues/gamedev/0072d-gamedev-wasm-build-size-budget.md similarity index 99% rename from dev/issues/0072d-gamedev-wasm-build-size-budget.md rename to dev/issues/gamedev/0072d-gamedev-wasm-build-size-budget.md index 93a5bde1..492fb659 100644 --- a/dev/issues/0072d-gamedev-wasm-build-size-budget.md +++ b/dev/issues/gamedev/0072d-gamedev-wasm-build-size-budget.md @@ -7,9 +7,7 @@ domain: - gamedev scope: multi-app priority: alta -depends: - - "0072a" - - "0072b" +depends: ["0072a", "0072b"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072e-gamedev-crypto-bridge-web3.md b/dev/issues/gamedev/0072e-gamedev-crypto-bridge-web3.md similarity index 99% rename from dev/issues/0072e-gamedev-crypto-bridge-web3.md rename to dev/issues/gamedev/0072e-gamedev-crypto-bridge-web3.md index 28a877b6..8be5bfe6 100644 --- a/dev/issues/0072e-gamedev-crypto-bridge-web3.md +++ b/dev/issues/gamedev/0072e-gamedev-crypto-bridge-web3.md @@ -7,9 +7,7 @@ domain: - gamedev scope: multi-app priority: alta -depends: - - "0072a" - - "0072d" +depends: ["0072a", "0072d"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072f-gamedev-crypto-onchain-assets-payments.md b/dev/issues/gamedev/0072f-gamedev-crypto-onchain-assets-payments.md similarity index 99% rename from dev/issues/0072f-gamedev-crypto-onchain-assets-payments.md rename to dev/issues/gamedev/0072f-gamedev-crypto-onchain-assets-payments.md index da34fefc..d06f8c9d 100644 --- a/dev/issues/0072f-gamedev-crypto-onchain-assets-payments.md +++ b/dev/issues/gamedev/0072f-gamedev-crypto-onchain-assets-payments.md @@ -7,8 +7,7 @@ domain: - gamedev scope: multi-app priority: media -depends: - - "0072e" +depends: ["0072e"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072g-gamedev-android-build.md b/dev/issues/gamedev/0072g-gamedev-android-build.md similarity index 99% rename from dev/issues/0072g-gamedev-android-build.md rename to dev/issues/gamedev/0072g-gamedev-android-build.md index eb0a0345..f5beed5f 100644 --- a/dev/issues/0072g-gamedev-android-build.md +++ b/dev/issues/gamedev/0072g-gamedev-android-build.md @@ -7,9 +7,7 @@ domain: - gamedev scope: multi-app priority: media -depends: - - "0072b" - - "0072c" +depends: ["0072b", "0072c"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072h-gamedev-ios-build.md b/dev/issues/gamedev/0072h-gamedev-ios-build.md similarity index 99% rename from dev/issues/0072h-gamedev-ios-build.md rename to dev/issues/gamedev/0072h-gamedev-ios-build.md index 0091cbc4..e23c3432 100644 --- a/dev/issues/0072h-gamedev-ios-build.md +++ b/dev/issues/gamedev/0072h-gamedev-ios-build.md @@ -7,9 +7,7 @@ domain: - gamedev scope: multi-app priority: media -depends: - - "0072b" - - "0072c" +depends: ["0072b", "0072c"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072i-gamedev-editor-app.md b/dev/issues/gamedev/0072i-gamedev-editor-app.md similarity index 99% rename from dev/issues/0072i-gamedev-editor-app.md rename to dev/issues/gamedev/0072i-gamedev-editor-app.md index dd02ca40..ab7ba9dd 100644 --- a/dev/issues/0072i-gamedev-editor-app.md +++ b/dev/issues/gamedev/0072i-gamedev-editor-app.md @@ -7,9 +7,7 @@ domain: - gamedev scope: app-scoped priority: media -depends: - - "0072b" - - "0072c" +depends: ["0072b", "0072c"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0072j-gamedev-physics-box2d.md b/dev/issues/gamedev/0072j-gamedev-physics-box2d.md similarity index 99% rename from dev/issues/0072j-gamedev-physics-box2d.md rename to dev/issues/gamedev/0072j-gamedev-physics-box2d.md index 74ffaa96..1ddce59a 100644 --- a/dev/issues/0072j-gamedev-physics-box2d.md +++ b/dev/issues/gamedev/0072j-gamedev-physics-box2d.md @@ -7,16 +7,12 @@ domain: - gamedev scope: multi-app priority: media -depends: - - "0072b" +depends: ["0072b"] blocks: [] related: [] created: 2026-05-10 updated: 2026-05-17 -tags: - - gamedev - - cpp - - physics +tags: [gamedev, cpp, physics] --- ## Objetivo diff --git a/dev/issues/0072k-gamedev-demo-platformer.md b/dev/issues/gamedev/0072k-gamedev-demo-platformer.md similarity index 99% rename from dev/issues/0072k-gamedev-demo-platformer.md rename to dev/issues/gamedev/0072k-gamedev-demo-platformer.md index 3d4cc46c..b3425074 100644 --- a/dev/issues/0072k-gamedev-demo-platformer.md +++ b/dev/issues/gamedev/0072k-gamedev-demo-platformer.md @@ -7,11 +7,7 @@ domain: - gamedev scope: multi-app priority: alta -depends: - - "0072b" - - "0072c" - - "0072d" - - "0072j" +depends: ["0072b", "0072c", "0072d", "0072j"] blocks: [] related: [] created: 2026-05-10 diff --git a/dev/issues/0083-imagegen-spike02-cross-validation.md b/dev/issues/imagegen/0083-imagegen-spike02-cross-validation.md similarity index 99% rename from dev/issues/0083-imagegen-spike02-cross-validation.md rename to dev/issues/imagegen/0083-imagegen-spike02-cross-validation.md index 27a48b13..fc835f64 100644 --- a/dev/issues/0083-imagegen-spike02-cross-validation.md +++ b/dev/issues/imagegen/0083-imagegen-spike02-cross-validation.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-13 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Objetivo diff --git a/dev/issues/0084-imagegen-studio-go-app.md b/dev/issues/imagegen/0084-imagegen-studio-go-app.md similarity index 100% rename from dev/issues/0084-imagegen-studio-go-app.md rename to dev/issues/imagegen/0084-imagegen-studio-go-app.md diff --git a/dev/issues/0058-kanban-uses-functions-sync.md b/dev/issues/kanban/0058-kanban-uses-functions-sync.md similarity index 99% rename from dev/issues/0058-kanban-uses-functions-sync.md rename to dev/issues/kanban/0058-kanban-uses-functions-sync.md index bf9b486e..0c18ee23 100644 --- a/dev/issues/0058-kanban-uses-functions-sync.md +++ b/dev/issues/kanban/0058-kanban-uses-functions-sync.md @@ -13,7 +13,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0058 — kanban: sync uses_functions cuando termine WIP en curso diff --git a/dev/issues/0063-kanban-stickers.md b/dev/issues/kanban/0063-kanban-stickers.md similarity index 100% rename from dev/issues/0063-kanban-stickers.md rename to dev/issues/kanban/0063-kanban-stickers.md diff --git a/dev/issues/0089-kanban-column-max-time.md b/dev/issues/kanban/0089-kanban-column-max-time.md similarity index 99% rename from dev/issues/0089-kanban-column-max-time.md rename to dev/issues/kanban/0089-kanban-column-max-time.md index fbfef633..8a933a09 100644 --- a/dev/issues/0089-kanban-column-max-time.md +++ b/dev/issues/kanban/0089-kanban-column-max-time.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0090-kanban-column-random-pick.md b/dev/issues/kanban/0090-kanban-column-random-pick.md similarity index 99% rename from dev/issues/0090-kanban-column-random-pick.md rename to dev/issues/kanban/0090-kanban-column-random-pick.md index 9cf7caa7..b92aedfb 100644 --- a/dev/issues/0090-kanban-column-random-pick.md +++ b/dev/issues/kanban/0090-kanban-column-random-pick.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0091-kanban-sidebar-drag-zones.md b/dev/issues/kanban/0091-kanban-sidebar-drag-zones.md similarity index 99% rename from dev/issues/0091-kanban-sidebar-drag-zones.md rename to dev/issues/kanban/0091-kanban-sidebar-drag-zones.md index 9e47ba43..abf3e07d 100644 --- a/dev/issues/0091-kanban-sidebar-drag-zones.md +++ b/dev/issues/kanban/0091-kanban-sidebar-drag-zones.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0092-kanban-done-archive.md b/dev/issues/kanban/0092-kanban-done-archive.md similarity index 99% rename from dev/issues/0092-kanban-done-archive.md rename to dev/issues/kanban/0092-kanban-done-archive.md index 743c3317..bd2c2296 100644 --- a/dev/issues/0092-kanban-done-archive.md +++ b/dev/issues/kanban/0092-kanban-done-archive.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0093-kanban-daily-report.md b/dev/issues/kanban/0093-kanban-daily-report.md similarity index 99% rename from dev/issues/0093-kanban-daily-report.md rename to dev/issues/kanban/0093-kanban-daily-report.md index 2c58bf42..d63b5527 100644 --- a/dev/issues/0093-kanban-daily-report.md +++ b/dev/issues/kanban/0093-kanban-daily-report.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0094-kanban-daily-summary-pdf.md b/dev/issues/kanban/0094-kanban-daily-summary-pdf.md similarity index 100% rename from dev/issues/0094-kanban-daily-summary-pdf.md rename to dev/issues/kanban/0094-kanban-daily-summary-pdf.md diff --git a/dev/issues/0088-kanban-requester-empty-nav.md b/dev/issues/kanban/0178-kanban-requester-empty-nav.md similarity index 98% rename from dev/issues/0088-kanban-requester-empty-nav.md rename to dev/issues/kanban/0178-kanban-requester-empty-nav.md index d0e781b2..38fbc653 100644 --- a/dev/issues/0088-kanban-requester-empty-nav.md +++ b/dev/issues/kanban/0178-kanban-requester-empty-nav.md @@ -1,5 +1,5 @@ --- -id: "0088" +id: "0178" title: "kanban: requester input vacío + navegación con teclado" status: pendiente type: feature @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- ## Problema diff --git a/dev/issues/0165-matrix-media-store-luks.md b/dev/issues/matrix/0165-matrix-media-store-luks.md similarity index 100% rename from dev/issues/0165-matrix-media-store-luks.md rename to dev/issues/matrix/0165-matrix-media-store-luks.md diff --git a/dev/issues/0088-trading-skill-management-roadmap.md b/dev/issues/trading/0088-trading-skill-management-roadmap.md similarity index 100% rename from dev/issues/0088-trading-skill-management-roadmap.md rename to dev/issues/trading/0088-trading-skill-management-roadmap.md diff --git a/dev/issues/0088a-trading-project-scaffolding.md b/dev/issues/trading/0088a-trading-project-scaffolding.md similarity index 98% rename from dev/issues/0088a-trading-project-scaffolding.md rename to dev/issues/trading/0088a-trading-project-scaffolding.md index cc5a31bc..771da8cf 100644 --- a/dev/issues/0088a-trading-project-scaffolding.md +++ b/dev/issues/trading/0088a-trading-project-scaffolding.md @@ -12,7 +12,7 @@ blocks: [] related: [] created: 2026-05-17 updated: 2026-05-17 -tags: [] +tags: [ausente-ready] --- # 0088a — Trading: project scaffolding diff --git a/dev/issues/0088b-trading-market-data-capability-group.md b/dev/issues/trading/0088b-trading-market-data-capability-group.md similarity index 99% rename from dev/issues/0088b-trading-market-data-capability-group.md rename to dev/issues/trading/0088b-trading-market-data-capability-group.md index e386006a..98febaa2 100644 --- a/dev/issues/0088b-trading-market-data-capability-group.md +++ b/dev/issues/trading/0088b-trading-market-data-capability-group.md @@ -8,7 +8,7 @@ domain: - meta scope: multi-app priority: alta -depends: [] +depends: ["0088a"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088c-trading-broker-interface-and-paper-adapter.md b/dev/issues/trading/0088c-trading-broker-interface-and-paper-adapter.md similarity index 98% rename from dev/issues/0088c-trading-broker-interface-and-paper-adapter.md rename to dev/issues/trading/0088c-trading-broker-interface-and-paper-adapter.md index cfe1609d..67469203 100644 --- a/dev/issues/0088c-trading-broker-interface-and-paper-adapter.md +++ b/dev/issues/trading/0088c-trading-broker-interface-and-paper-adapter.md @@ -7,7 +7,7 @@ domain: - trading scope: multi-app priority: alta -depends: [] +depends: ["0088a", "0088d"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088d-trading-portfolio-tracker-app.md b/dev/issues/trading/0088d-trading-portfolio-tracker-app.md similarity index 99% rename from dev/issues/0088d-trading-portfolio-tracker-app.md rename to dev/issues/trading/0088d-trading-portfolio-tracker-app.md index 7e8e3bc7..363f4bee 100644 --- a/dev/issues/0088d-trading-portfolio-tracker-app.md +++ b/dev/issues/trading/0088d-trading-portfolio-tracker-app.md @@ -7,7 +7,7 @@ domain: - trading scope: app-scoped priority: alta -depends: [] +depends: ["0088a"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088e-trading-strategy-capability-group.md b/dev/issues/trading/0088e-trading-strategy-capability-group.md similarity index 99% rename from dev/issues/0088e-trading-strategy-capability-group.md rename to dev/issues/trading/0088e-trading-strategy-capability-group.md index c06de7e5..b8707e74 100644 --- a/dev/issues/0088e-trading-strategy-capability-group.md +++ b/dev/issues/trading/0088e-trading-strategy-capability-group.md @@ -8,7 +8,7 @@ domain: - meta scope: multi-app priority: alta -depends: [] +depends: ["0088a"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088f-trading-risk-capability-group-and-kill-switch.md b/dev/issues/trading/0088f-trading-risk-capability-group-and-kill-switch.md similarity index 99% rename from dev/issues/0088f-trading-risk-capability-group-and-kill-switch.md rename to dev/issues/trading/0088f-trading-risk-capability-group-and-kill-switch.md index f5f4454b..87d20524 100644 --- a/dev/issues/0088f-trading-risk-capability-group-and-kill-switch.md +++ b/dev/issues/trading/0088f-trading-risk-capability-group-and-kill-switch.md @@ -8,7 +8,7 @@ domain: - meta scope: multi-app priority: alta -depends: [] +depends: ["0088a"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088g-trading-backtester-app.md b/dev/issues/trading/0088g-trading-backtester-app.md similarity index 97% rename from dev/issues/0088g-trading-backtester-app.md rename to dev/issues/trading/0088g-trading-backtester-app.md index 81994a47..5ab7ead1 100644 --- a/dev/issues/0088g-trading-backtester-app.md +++ b/dev/issues/trading/0088g-trading-backtester-app.md @@ -7,7 +7,7 @@ domain: - trading scope: app-scoped priority: alta -depends: [] +depends: ["0088b", "0088c", "0088d", "0088e", "0088f"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088h-trading-live-runner-service.md b/dev/issues/trading/0088h-trading-live-runner-service.md similarity index 97% rename from dev/issues/0088h-trading-live-runner-service.md rename to dev/issues/trading/0088h-trading-live-runner-service.md index f9d84d8d..a7fc1849 100644 --- a/dev/issues/0088h-trading-live-runner-service.md +++ b/dev/issues/trading/0088h-trading-live-runner-service.md @@ -7,7 +7,7 @@ domain: - trading scope: multi-app priority: alta -depends: [] +depends: ["0088b", "0088c", "0088d", "0088e", "0088f", "0088g"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088i-trading-journal-app.md b/dev/issues/trading/0088i-trading-journal-app.md similarity index 98% rename from dev/issues/0088i-trading-journal-app.md rename to dev/issues/trading/0088i-trading-journal-app.md index 7e5aec48..dfdb1e7e 100644 --- a/dev/issues/0088i-trading-journal-app.md +++ b/dev/issues/trading/0088i-trading-journal-app.md @@ -7,7 +7,7 @@ domain: - trading scope: app-scoped priority: alta -depends: [] +depends: ["0088a", "0088d"] blocks: [] related: [] created: 2026-05-17 diff --git a/dev/issues/0088j-trading-reactive-loop-wiring.md b/dev/issues/trading/0088j-trading-reactive-loop-wiring.md similarity index 98% rename from dev/issues/0088j-trading-reactive-loop-wiring.md rename to dev/issues/trading/0088j-trading-reactive-loop-wiring.md index 4ebe1c33..12d204d9 100644 --- a/dev/issues/0088j-trading-reactive-loop-wiring.md +++ b/dev/issues/trading/0088j-trading-reactive-loop-wiring.md @@ -8,7 +8,7 @@ domain: - frontend scope: multi-app priority: alta -depends: [] +depends: ["0088d", "0088g", "0088h", "0088i"] blocks: [] related: [] created: 2026-05-17