commits
* put in spans in http client rather than every package
* good by back compat
* are we getting better?
* make ai clients in consturctor, fail early
* lets go
* leave otel to higher level
* fall back to default
* default client unless given one
* dead code
* shut off cache
---------
Co-authored-by: paul miller <paul.miller>
* simpler high level spans
* unused
---------
Co-authored-by: paul miller <paul.miller>
* invert caching and multigrader
* save partial grades
* save partials
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* move to input ingredient
* make it map friendly
* remove unique but still throw on empty product ids
* let routing staple provider do deduping
* simpler map function
* find out later
* fix tests with skip
* fumpt
---------
Co-authored-by: paul miller <paul.miller>
* first try
* second try
* third try
* my edit
* okay stop on pasta
* we got pasta and grains
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* updated openapi for kroger split it into two packages and supress erros around date and nutritional info by dropping them
* good bye unncessary interface
* remove dead
* unneeded
* missed overlay
---------
Co-authored-by: paul miller <paul.miller>
* ingredient grader
* some futzing around
* okay simplified down some
* aggressive
* closer
* pasing lets see if we got any better
* working
* okay we got something
* review trimming
* missed some
* try and simplify
* cacheversion
* goodbye categories
* ugh
* passing
* move conversion closer to what calls it
* okay got it
* yuck
* thoss out <= 5 grades
* unused
---------
Co-authored-by: paul miller <paul.miller>
* Simplify error handling for SSH key loading
Removed handling for missing SSH key file.
* don't error on idenities not found
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* 429 watchdog
* fix text
---------
Co-authored-by: paul miller <paul.miller>
* opentelemtery?
* use azure otel endpoint
* grafana cloud
* okay that kind of worked do i like grafana cloud
* get rid of operation id
* more traces in mail and secretref
* put user and session on top level trace
* simplify
* ensure headers for grafana
* still have traces when not exporting
* agents.md
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* use last response not shared conversation
* move origin hash out of save
* fix up test
* final touches
* use current shoppinglist
---------
Co-authored-by: paul miller <paul.miller>
* move parent matching out of generator
* html tests
* flush out rather that wrapping
* try again
* no buffer
* continue the madness
* user your own helpers
---------
Co-authored-by: paul miller <paul.miller>
* reduced
* okay lineages gone again
* simplify title matching
* passing tests
* simnplify
* fix and comeback for better html tests
* fumpt
* extra s
* don't depend on ordering
* Add public recipe critique page and score link
* list cache i guess
* tailwind generate
* homepage chef notes
* seperate home handler
* seperate home file
* think we're doing good
* tailwind go
---------
Co-authored-by: paul miller <paul.miller>
* okay that seemed to have worked
* status updates building
* passing tests
* just take what you need
* spinner doesn't care if you're signed in genrateion has already started
* fine leave serversinged in but hard code it
---------
Co-authored-by: paul miller <paul.miller>
* Enable mail opt-in on first favorite store and add unsubscribe link
* yikes so much to get token from config
* think we have it
* okay only show if signed in
* move head guard add to plain text
---------
Co-authored-by: paul miller <paul.miller>
* Add past recipe removal and count manual entries as cooked
* tailwind and lint
* get rid of manually added for now
* no manual recipes. More feedback recipes
* seems to work
* only remove by hash
* fix it
* remove added time
* resuse
---------
Co-authored-by: paul miller <paul.miller>
* looking better
* little cleaner web.go
* admin moved over
* missed add
* no exports
* improve tests
* unncessary
* got rid of more filth
* ugliness begon
* just take a list cache
* internal
* comments and unncessary
* go back
* format
---------
Co-authored-by: paul miller <paul.miller>
* close
* close
* okay that kind of works
* okay thats something
* think we're good
* lint failure
* todo and mail wait
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* prod gem key and key dry run
* for real
* stop erroring when we know we have problem
---------
Co-authored-by: paul miller <paul.miller>
* might work
* pipefeedbck back into recipe generation
* raise the bar
* regenerating but losing discraded
* test save discarded
* parallize saving recipes
* keep mistakes out of description
* save recipes shouldn't mutate recipes and unexport it
---------
Co-authored-by: paul miller <paul.miller>
* show critiques
* parallel fetch
* review comments
---------
Co-authored-by: paul miller <paul.miller>
* first run at gemeni critiques
* oops
* trimming is whack yo
* fix up tests
* yuck
* start storign critiques
---------
Co-authored-by: paul miller <paul.miller>
* let us peek into secret file add add gemeni key
* fix tests
* lean on assert
* tell agent to use testify
---------
Co-authored-by: paul miller <paul.miller>
* better alignment
* get rid of extra crap
* log erros in albertson scrape
* set up logger for scrapers so we can captuer errors includign parsing
* fumpt
* not found doesn't count as an error
* prefer slog of log.fatal
* limit and lint
* kage secret applier
* closer
* seems to work
* okay give up
* gofumpt
* fumpt
---------
Co-authored-by: paul miller <paul.miller>
* try and fix our conversions
* smaller
* move user exist to the user package
* tests passing
* okay simpler template
* get rid of cruft
* works
* test the right things
* fumpt
---------
Co-authored-by: paul miller <paul.miller>
* ugh
* Stream decrypted env directly into godotenv parser
* Walk to git root for .env and secrets/envtest lookup
* Clarify manual env merge for decrypted secrets
* let me load encyptedsecrets
* seems ot work
* simplify
---------
Co-authored-by: paul miller <paul.miller>
* get user id on the logged context
* fumpt
* shutdown sleep
* ugh
---------
Co-authored-by: paul miller <paul.miller>
* get user id on the logged context
* fumpt
---------
Co-authored-by: paul miller <paul.miller>
* no reties as real errors
* give some loggin context
---------
Co-authored-by: paul miller <paul.miller>
* put in spans in http client rather than every package
* good by back compat
* are we getting better?
* make ai clients in consturctor, fail early
* lets go
* leave otel to higher level
* fall back to default
* default client unless given one
* dead code
* shut off cache
---------
Co-authored-by: paul miller <paul.miller>
Co-authored-by: paul miller <paul.miller>
* first try
* second try
* third try
* my edit
* okay stop on pasta
* we got pasta and grains
---------
Co-authored-by: paul miller <paul.miller>
* ingredient grader
* some futzing around
* okay simplified down some
* aggressive
* closer
* pasing lets see if we got any better
* working
* okay we got something
* review trimming
* missed some
* try and simplify
* cacheversion
* goodbye categories
* ugh
* passing
* move conversion closer to what calls it
* okay got it
* yuck
* thoss out <= 5 grades
* unused
---------
Co-authored-by: paul miller <paul.miller>
* opentelemtery?
* use azure otel endpoint
* grafana cloud
* okay that kind of worked do i like grafana cloud
* get rid of operation id
* more traces in mail and secretref
* put user and session on top level trace
* simplify
* ensure headers for grafana
* still have traces when not exporting
* agents.md
---------
Co-authored-by: paul miller <paul.miller>
* looking better
* little cleaner web.go
* admin moved over
* missed add
* no exports
* improve tests
* unncessary
* got rid of more filth
* ugliness begon
* just take a list cache
* internal
* comments and unncessary
* go back
* format
---------
Co-authored-by: paul miller <paul.miller>