chore: snapshot WIP previo + flow 0008 + 7 sub-issues (0112-0119)

Snapshot de WIP acumulado de sesiones previas antes de merge wave 1
del flow 0008 (kanban_cpp + agent_runner_api + DoD schema).

Incluye:
- dev/flows/0008-kanban-cpp-and-agent-workflows.md
- dev/issues/0112-0119*.md (7 sub-issues)
- WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 18:17:08 +02:00
parent ddb5366884
commit b9716a7cd6
119 changed files with 14929 additions and 3084 deletions
+49 -12
View File
@@ -75,18 +75,33 @@ type rawType struct {
// rawApp mirrors the YAML frontmatter of an app .md file.
type rawApp struct {
Name string `yaml:"name"`
Lang string `yaml:"lang"`
Domain string `yaml:"domain"`
Description string `yaml:"description"`
Tags []string `yaml:"tags"`
UsesFunctions []string `yaml:"uses_functions"`
UsesTypes []string `yaml:"uses_types"`
UsesModules []string `yaml:"uses_modules"`
Framework string `yaml:"framework"`
EntryPoint string `yaml:"entry_point"`
DirPath string `yaml:"dir_path"`
RepoURL string `yaml:"repo_url"`
Name string `yaml:"name"`
Lang string `yaml:"lang"`
Domain string `yaml:"domain"`
Version string `yaml:"version"`
Description string `yaml:"description"`
Tags []string `yaml:"tags"`
UsesFunctions []string `yaml:"uses_functions"`
UsesTypes []string `yaml:"uses_types"`
UsesModules []string `yaml:"uses_modules"`
Framework string `yaml:"framework"`
EntryPoint string `yaml:"entry_point"`
DirPath string `yaml:"dir_path"`
RepoURL string `yaml:"repo_url"`
Service *rawService `yaml:"service"`
}
// rawService mirrors the `service:` block of an app.md frontmatter (issue 0105).
type rawService struct {
Port *int `yaml:"port"`
HealthEndpoint string `yaml:"health_endpoint"`
HealthTimeoutS int `yaml:"health_timeout_s"`
SystemdUnit string `yaml:"systemd_unit"`
SystemdScope string `yaml:"systemd_scope"`
RestartPolicy string `yaml:"restart_policy"`
Runtime string `yaml:"runtime"`
IsLocalOnly bool `yaml:"is_local_only"`
PCTargets []string `yaml:"pc_targets"`
}
// rawAnalysis mirrors the YAML frontmatter of an analysis .md file.
@@ -325,11 +340,16 @@ func ParseAppMD(path string, root string) (*App, error) {
sections := extractSections(body)
if raw.Version == "" {
raw.Version = "0.1.0"
}
a := &App{
ID: GenerateID(raw.Name, raw.Lang, raw.Domain),
Name: raw.Name,
Lang: raw.Lang,
Domain: raw.Domain,
Version: raw.Version,
Description: raw.Description,
Tags: raw.Tags,
UsesFunctions: raw.UsesFunctions,
@@ -343,6 +363,23 @@ func ParseAppMD(path string, root string) (*App, error) {
RepoURL: raw.RepoURL,
}
if raw.Service != nil {
spec := &ServiceSpec{
HealthEndpoint: raw.Service.HealthEndpoint,
HealthTimeoutS: raw.Service.HealthTimeoutS,
SystemdUnit: raw.Service.SystemdUnit,
SystemdScope: raw.Service.SystemdScope,
RestartPolicy: raw.Service.RestartPolicy,
Runtime: raw.Service.Runtime,
IsLocalOnly: raw.Service.IsLocalOnly,
PCTargets: raw.Service.PCTargets,
}
if raw.Service.Port != nil {
spec.Port = *raw.Service.Port
}
a.Service = spec
}
return a, nil
}