All checks were successful
Build and Test / build-and-test (push) Successful in 37s
Add a global, temporal ai_notes list appended to the classifier prompt (seeded once from no-PII defaults, documented in README), managed inline on a new AI tab with a read-only view of the assembled prompt. Every AI-run upload records the browser-round-tripped suggestion blob + model; misreads are derived (final field != AI guess) and reviewed one by one (image + per-field guess-vs-entered + notes-since), attributing which note fixed each or closing unresolved. Update SPEC (new section 10), DESIGN item 15, README, and changelog (0.0.3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
781 B
Go
29 lines
781 B
Go
package web
|
|
|
|
import (
|
|
"embed"
|
|
"html/template"
|
|
)
|
|
|
|
//go:embed templates/*.html
|
|
var templatesFS embed.FS
|
|
|
|
//go:embed static/*
|
|
var staticFS embed.FS
|
|
|
|
// parsePage parses the shared base layout together with a single page template,
|
|
// yielding a template set whose "base" definition renders the full document.
|
|
func parsePage(name string) *template.Template {
|
|
return template.Must(template.ParseFS(templatesFS, "templates/base.html", "templates/"+name))
|
|
}
|
|
|
|
var (
|
|
uploadPage = parsePage("upload.html")
|
|
confirmPage = parsePage("confirm.html")
|
|
managePage = parsePage("manage.html")
|
|
exportPage = parsePage("export.html")
|
|
tallyPage = parsePage("tally.html")
|
|
recentPage = parsePage("recent.html")
|
|
aiPage = parsePage("ai.html")
|
|
reviewPage = parsePage("ai_review.html")
|
|
)
|