Repository navigation
Bridge 1c: generated descriptions in .audiosilo, /meta and the console - #148
Merged
Merged
Conversation
description.json is a known attachment (checked against meta's model.Description, 200-1500 code points, migration 0050) and rides in /meta's new work.generated_description when the community work has no community_description. New job kind sidecars.describe (strict empty params, 409 generate_open while a generate job is open); the estimate gains can_describe and has.*.description; the admin book detail carries generated_description, shown on the book page's Community card with a Write a description action.
…ed parts, narrow reads)
…ption counts as one
This was referenced Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bridge Phase 1c (BRIDGE-PLAN.md): generated descriptions in
.audiosilo/,/metaand the console.What it does
description.jsonas a known attachment (migration 0050): audiosilo-metamodel.Description, text trimmed, 200-1500 code points (meta's schema bounds, with a drift test), no control character but a line break. A book without one keeps its stored signature byte for byte. A book with only a description hasgenerated: true./meta: a generated description rides in a NEW additive field,work.generated_description {text}, markedwork.generated.description(generatednow always carries the three booleans). It never goes intocommunity_description: the shipped 2.0 app shows that first in About, over the book's own description, and credits the community; it ignores the new field. Community wins: filled only when the community work has nocommunity_description.spoilers=hidekeeps it; attribution never counts it; an unmatched book with only a description answers{matched:false, work:{..., generated_description}}./metanow reads only the attachment parts it can fill.sidecars.describe(new kind): params{}, 409generate_openwhile a generate job is open for the book, its own dedupe; a generate job queued later cancels an open describe job. An older Bridge doesn't advertise it (409kind_unavailable).can_describe,has.local.description,has.community.description(the community'scommunity_descriptionor its core description, either shown before a generated one). Admin book detail:generated_description {text, generated_at?}. Rescan answer:attachments.description.Pairs with KodeStar/audiosilo-bridge#4, KodeStar/audiosilo-frontend#111, KodeStar/audiosilo-docs#141 and KodeStar/audiosilo#62.
Quality passes
/simplify(2 reviewers): 15 items applied (shared console job pieces, narrow catalog reads, the fill mask, one notification table); skipped ablockedBykind field (the refusal is generate-specific)./code-review max --fix: 15 findings, all fixed with tests. The two it left for a decision were decided in the session: a generate job cancels an open describe job; a core description counts as the community having one.Test plan
scripts/build-admin.sh(874 tests),go build ./... && go vet ./... && go test -race ./... && golangci-lint run(0 issues)/metafor an unmatched generated book (plain andspoilers=hide), the console's book page in headless Chromium showing the Description part.Left open
generatedis a bool), so a description-only book costs a/metaask on surfaces that read only characters and recaps; ageneratedlist is a follow-up.