feat(ingestion): add wiki index rebuilder and audit log
This commit is contained in:
38
ingestion/internal/wiki/log.go
Normal file
38
ingestion/internal/wiki/log.go
Normal file
@@ -0,0 +1,38 @@
|
||||
// ingestion/internal/wiki/log.go
|
||||
package wiki
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"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")
|
||||
|
||||
logPath := filepath.Join(brainDir, "log.md")
|
||||
f, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o644)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open log: %w", err)
|
||||
}
|
||||
defer f.Close()
|
||||
_, err = f.WriteString(sb.String())
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user