Remove legacy shared prompt package and update docs

This commit is contained in:
2026-07-06 01:34:04 +00:00
parent 3e456ec4d4
commit b3757dcf7b
6 changed files with 22 additions and 51 deletions

View File

@@ -41,10 +41,12 @@ request. Prompt metadata hashes remain based on prompt asset source, not
rendered reference bytes.
LLM-backed modules own Scriptorium prompt definitions and response schemas in
their embedded assets. Module contracts should expose prompt IDs, versions,
input material names, and non-secret prompt/schema hashes through manifest
metadata; they should not expose Scriptorium public types through chunk,
extract, or normalize contracts.
their embedded assets. Module-owned prompts live under each module's shallow
`assets/prompts` tree and schemas live under `assets/schemas`. Shared reusable
prompt fragments live under `internal/modules/sharedassets`. Module contracts
should expose prompt IDs, versions, input material names, and non-secret
prompt/schema hashes through manifest metadata; they should not expose
Scriptorium public types through chunk, extract, or normalize contracts.
Chunk modules receive the structured LLM client, configured Scriptorium profile
ID, prompt session ID, and raw source input material through
@@ -104,6 +106,10 @@ prompt ID, prompt version, transcript input material, response schema, and
session ID to the runtime; validates model-authored source-unit boundaries; and
converts each scene into a deterministic source chunk.
Its prompt definition lives under `assets/prompts` and its schema under
`assets/schemas`. Shared reusable prompt fragments are provided by
`internal/modules/sharedassets`.
Requires:
- `source.transcript`
@@ -138,6 +144,10 @@ input materials, response schema, and session ID to the runtime; converts
spell-cast responses into artifact candidates; and supplies deterministic
validators.
Its prompt definition lives under `assets/prompts` and its schema under
`assets/schemas`. Shared reusable prompt fragments are provided by
`internal/modules/sharedassets`.
Requires:
- `chunks`

View File

@@ -55,6 +55,7 @@ Production module packages live under `internal/modules`:
- `input/seriatim`
- `chunk/generic`
- `chunk/dnd/scenes`
- `extract/dnd/spells`
- `merge/appendorder`
- `normalize/noop`
@@ -63,6 +64,12 @@ Production module packages live under `internal/modules`:
Each module package owns its contract implementation, module spec,
registration, options, focused tests, and module-specific errors.
Module-owned prompts and schemas live in each module's shallow `assets/prompts`
and `assets/schemas` directories. Shared reusable D&D prompt fragments live in
`internal/modules/sharedassets`.
Shared asset package: `internal/modules/sharedassets`
## Fixtures And Tests
The repository uses focused package tests plus a fixture-driven CLI workflow.
@@ -81,6 +88,7 @@ servers.
- Source-format details stay in input modules and integration docs.
- Extraction-domain details stay in extract modules and artifact docs.
- Shared prompt fragments stay in `internal/modules/sharedassets`.
- Provider wire details stay in the LLM runtime and provider integration docs.
- Durable output contracts belong in integration docs.
- Operator procedures belong in `docs/operations.md`, not internal docs.

View File

@@ -1,27 +0,0 @@
package promptassets
import (
"embed"
"gitea.maximumdirect.net/eric/notarius/internal/framework/llm"
)
//go:embed assets/prompts/shared/*.md
var embeddedAssets embed.FS
func Register(registry *llm.AssetRegistry) error {
return registry.RegisterPromptFS(embeddedAssets, "assets/prompts")
}
func CommonHashParts() []llm.AssetHashPart {
return []llm.AssetHashPart{
{FS: embeddedAssets, Path: "assets/prompts/shared/system.md"},
{FS: embeddedAssets, Path: "assets/prompts/shared/transcript.md"},
}
}
func ReferenceHashParts() []llm.AssetHashPart {
return []llm.AssetHashPart{
{FS: embeddedAssets, Path: "assets/prompts/shared/references.md"},
}
}

View File

@@ -1,9 +0,0 @@
Optional reference material for this Dungeons & Dragons campaign is provided
below. Use it only to disambiguate names, aliases, speakers, campaign terms, or
spell names already present in the transcript.
Roster reference:
{{ input "roster" }}
Glossary reference:
{{ input "glossary" }}

View File

@@ -1,8 +0,0 @@
You work with Dungeons & Dragons gameplay transcripts.
Use only the provided transcript and reference material. Source text may contain
transcription errors, repeated lines, incomplete sentences, and misheard proper
nouns. Reference material, when present, is supporting context only and must not
be treated as a source of extracted events by itself.
Return only valid JSON matching the configured response schema.

View File

@@ -1,3 +0,0 @@
A transcript of a Dungeons & Dragons gameplay session is provided below.
{{ input "transcript" }}