Remove legacy shared prompt package and update docs
This commit is contained in:
@@ -41,10 +41,12 @@ request. Prompt metadata hashes remain based on prompt asset source, not
|
|||||||
rendered reference bytes.
|
rendered reference bytes.
|
||||||
|
|
||||||
LLM-backed modules own Scriptorium prompt definitions and response schemas in
|
LLM-backed modules own Scriptorium prompt definitions and response schemas in
|
||||||
their embedded assets. Module contracts should expose prompt IDs, versions,
|
their embedded assets. Module-owned prompts live under each module's shallow
|
||||||
input material names, and non-secret prompt/schema hashes through manifest
|
`assets/prompts` tree and schemas live under `assets/schemas`. Shared reusable
|
||||||
metadata; they should not expose Scriptorium public types through chunk,
|
prompt fragments live under `internal/modules/sharedassets`. Module contracts
|
||||||
extract, or normalize 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
|
Chunk modules receive the structured LLM client, configured Scriptorium profile
|
||||||
ID, prompt session ID, and raw source input material through
|
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
|
session ID to the runtime; validates model-authored source-unit boundaries; and
|
||||||
converts each scene into a deterministic source chunk.
|
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:
|
Requires:
|
||||||
|
|
||||||
- `source.transcript`
|
- `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
|
spell-cast responses into artifact candidates; and supplies deterministic
|
||||||
validators.
|
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:
|
Requires:
|
||||||
|
|
||||||
- `chunks`
|
- `chunks`
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ Production module packages live under `internal/modules`:
|
|||||||
|
|
||||||
- `input/seriatim`
|
- `input/seriatim`
|
||||||
- `chunk/generic`
|
- `chunk/generic`
|
||||||
|
- `chunk/dnd/scenes`
|
||||||
- `extract/dnd/spells`
|
- `extract/dnd/spells`
|
||||||
- `merge/appendorder`
|
- `merge/appendorder`
|
||||||
- `normalize/noop`
|
- `normalize/noop`
|
||||||
@@ -63,6 +64,12 @@ Production module packages live under `internal/modules`:
|
|||||||
Each module package owns its contract implementation, module spec,
|
Each module package owns its contract implementation, module spec,
|
||||||
registration, options, focused tests, and module-specific errors.
|
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
|
## Fixtures And Tests
|
||||||
|
|
||||||
The repository uses focused package tests plus a fixture-driven CLI workflow.
|
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.
|
- Source-format details stay in input modules and integration docs.
|
||||||
- Extraction-domain details stay in extract modules and artifact 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.
|
- Provider wire details stay in the LLM runtime and provider integration docs.
|
||||||
- Durable output contracts belong in integration docs.
|
- Durable output contracts belong in integration docs.
|
||||||
- Operator procedures belong in `docs/operations.md`, not internal docs.
|
- Operator procedures belong in `docs/operations.md`, not internal docs.
|
||||||
|
|||||||
@@ -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"},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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" }}
|
|
||||||
@@ -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.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
A transcript of a Dungeons & Dragons gameplay session is provided below.
|
|
||||||
|
|
||||||
{{ input "transcript" }}
|
|
||||||
Reference in New Issue
Block a user