// ingestion/internal/wiki/log.go package wiki import ( "fmt" "github.com/mathiasbq/hyperguild/ingestion/internal/brainfs" "strings" ) // AppendLog appends one ingestion record to brain/log.md. func AppendLog(brainDir, source string, pages, warnings []string, date string) error { var sb strings.Builder fmt.Fprintf(&sb, "## %s — ingest\n\n", date) fmt.Fprintf(&sb, "- **Source:** %s\n", source) if len(pages) > 0 { sb.WriteString("- **Pages written:**\n") for _, p := range pages { fmt.Fprintf(&sb, " - %s\n", p) } } if len(warnings) > 0 { sb.WriteString("- **Warnings:**\n") for _, w := range warnings { fmt.Fprintf(&sb, " - %s\n", w) } } sb.WriteString("\n") // Appended through the brain root, never through a symlink (#158). bfs, err := brainfs.Open(brainDir) if err != nil { return fmt.Errorf("open brain: %w", err) } defer func() { _ = bfs.Close() }() if err := bfs.AppendRegular("log.md", []byte(sb.String())); err != nil { return fmt.Errorf("write log: %w", err) } return nil }