Resume D&D storage and publishing plan
This commit is contained in:
@@ -11,7 +11,7 @@ object-storage credentials delivered through its existing secrets directory,
|
|||||||
publish the useful transcript and D&D artifact outputs, and retain maximum S3
|
publish the useful transcript and D&D artifact outputs, and retain maximum S3
|
||||||
audio caching.
|
audio caching.
|
||||||
|
|
||||||
The standalone Narratio role already exposes Narratio v2.1.0's complete
|
The standalone Narratio role already exposes Narratio v2.1.1's complete
|
||||||
configuration surface for this behavior. This feature supplies D&D suite
|
configuration surface for this behavior. This feature supplies D&D suite
|
||||||
policy through that existing interface; it does not add another storage
|
policy through that existing interface; it does not add another storage
|
||||||
implementation or credential mechanism.
|
implementation or credential mechanism.
|
||||||
@@ -25,6 +25,13 @@ publishing, and end-to-end external execution as deferred. The resulting suite
|
|||||||
can validate configuration and process local state, but it does not select the
|
can validate configuration and process local state, but it does not select the
|
||||||
remote archive or publish the outputs needed for an operational deployment.
|
remote archive or publish the outputs needed for an operational deployment.
|
||||||
|
|
||||||
|
Narratio v2.1.0 also rejected a valid publish list when a rule explicitly set
|
||||||
|
`required` while omitting a derivable `dest`. Narratio v2.1.1 corrects that
|
||||||
|
resolution bookkeeping defect without changing the publish schema or
|
||||||
|
destination rules. This feature therefore advances the pipeline application
|
||||||
|
pin to v2.1.1 and retains explicit suite-owned requiredness together with
|
||||||
|
native destination derivation.
|
||||||
|
|
||||||
The prior test-machine configuration records the intended Backblaze B2
|
The prior test-machine configuration records the intended Backblaze B2
|
||||||
endpoint, bucket, prefix, credential names, publication set, and post-publish
|
endpoint, bucket, prefix, credential names, publication set, and post-publish
|
||||||
workspace cleanup. Narratio's current contract has since replaced the legacy
|
workspace cleanup. Narratio's current contract has since replaced the legacy
|
||||||
@@ -53,6 +60,8 @@ Notarius, so S3 needs only to join the same path.
|
|||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
|
- Advance the suite's Narratio application version from `v2.1.0` to the
|
||||||
|
backward-compatible `v2.1.1` bugfix release.
|
||||||
- Add suite-owned pipeline variables for the selected Narratio workspace,
|
- Add suite-owned pipeline variables for the selected Narratio workspace,
|
||||||
S3, cache, and publish settings.
|
S3, cache, and publish settings.
|
||||||
- Select the S3 backend with these D&D deployment defaults:
|
- Select the S3 backend with these D&D deployment defaults:
|
||||||
@@ -137,6 +146,9 @@ Notarius, so S3 needs only to join the same path.
|
|||||||
- Adding notification providers. Narratio v2.1 supports only its existing
|
- Adding notification providers. Narratio v2.1 supports only its existing
|
||||||
`noop` notification mode.
|
`noop` notification mode.
|
||||||
- Releasing new role or collection versions as part of this implementation.
|
- Releasing new role or collection versions as part of this implementation.
|
||||||
|
- Modifying Narratio, ConfigKit, or the standalone Narratio role. Narratio
|
||||||
|
v2.1.1 is an already published prerequisite, and the existing generic role
|
||||||
|
can install the selected application tag through `narratio_version`.
|
||||||
|
|
||||||
## Target End State
|
## Target End State
|
||||||
|
|
||||||
@@ -144,6 +156,7 @@ The standalone pipeline role exposes these suite variables with the selected
|
|||||||
defaults:
|
defaults:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
dnd_pipeline_narratio_version: v2.1.1
|
||||||
dnd_pipeline_narratio_workspace_cleanup_after_publish: true
|
dnd_pipeline_narratio_workspace_cleanup_after_publish: true
|
||||||
dnd_pipeline_narratio_storage_backend: s3
|
dnd_pipeline_narratio_storage_backend: s3
|
||||||
dnd_pipeline_narratio_storage_s3_bucket: rakestraw-assets
|
dnd_pipeline_narratio_storage_s3_bucket: rakestraw-assets
|
||||||
@@ -223,14 +236,16 @@ remove, rename, or constrain this future composition path.
|
|||||||
defaults, dependency mappings, consumer documentation, and representative
|
defaults, dependency mappings, consumer documentation, and representative
|
||||||
integration scenario.
|
integration scenario.
|
||||||
- `ansible-role-narratio` remains the generic owner of installation and native
|
- `ansible-role-narratio` remains the generic owner of installation and native
|
||||||
pipeline rendering. Its reviewed v2.1.0 interface already covers every
|
pipeline rendering. Its reviewed `v0.1.0` role interface is compatible with
|
||||||
|
Narratio v2.1.1 and already covers every
|
||||||
configuration field required by this feature and should remain unchanged.
|
configuration field required by this feature and should remain unchanged.
|
||||||
- `ansible-collection-dnd` owns the faithful pipeline subtree import, the
|
- `ansible-collection-dnd` owns the faithful pipeline subtree import, the
|
||||||
unified consumer dependency manifest, and artifact-boundary validation.
|
unified consumer dependency manifest, and artifact-boundary validation.
|
||||||
- `ansible-workspace-dnd` owns this roadmap, the later implementation plan,
|
- `ansible-workspace-dnd` owns this roadmap, the later implementation plan,
|
||||||
status, and independent review record.
|
status, and independent review record.
|
||||||
- `narratio` is a read-only source of storage, publication, credential,
|
- `narratio` v2.1.1 is the released compatibility prerequisite and a read-only
|
||||||
caching, cleanup, restore, and CLI contracts.
|
source of storage, publication, credential, caching, cleanup, restore, and
|
||||||
|
CLI contracts during this implementation.
|
||||||
- `rakestraw-ansible` remains unchanged until Feature 0016 consumes this
|
- `rakestraw-ansible` remains unchanged until Feature 0016 consumes this
|
||||||
interface on `pipeline-dnd`.
|
interface on `pipeline-dnd`.
|
||||||
|
|
||||||
@@ -254,6 +269,10 @@ remove, rename, or constrain this future composition path.
|
|||||||
- Publish destinations remain omitted where Narratio can derive them. The
|
- Publish destinations remain omitted where Narratio can derive them. The
|
||||||
configured source identity and artifact output path remain the single source
|
configured source identity and artifact output path remain the single source
|
||||||
of truth.
|
of truth.
|
||||||
|
- Narratio v2.1.1 is the minimum application version for this feature because
|
||||||
|
it preserves destination derivation when `required` is explicit. Do not work
|
||||||
|
around older behavior by duplicating destinations or omitting deliberate
|
||||||
|
requiredness.
|
||||||
- Workspace cleanup is gated by Narratio's own successful-publication
|
- Workspace cleanup is gated by Narratio's own successful-publication
|
||||||
evidence. Ansible does not independently inspect remote state or remove
|
evidence. Ansible does not independently inspect remote state or remove
|
||||||
runtime content.
|
runtime content.
|
||||||
@@ -273,11 +292,12 @@ remove, rename, or constrain this future composition path.
|
|||||||
|
|
||||||
## Simplest Viable Implementation
|
## Simplest Viable Implementation
|
||||||
|
|
||||||
Add the selected variables to the pipeline defaults and argument specification,
|
Advance `dnd_pipeline_narratio_version` to v2.1.1. Add the selected variables to
|
||||||
then map them into the existing `rakestraw.narratio` dependency. Update the
|
the pipeline defaults and argument specification, then map them into the
|
||||||
pipeline README to document the policy, credential names, complete-list
|
existing `rakestraw.narratio` dependency. Update the pipeline README to document
|
||||||
replacement semantics, and native capabilities now available. Do not add a
|
the policy, credential names, complete-list replacement semantics, and native
|
||||||
template, task, handler, fact, probe, or storage-specific validation layer.
|
capabilities now available. Do not add a template, task, handler, fact, probe,
|
||||||
|
or storage-specific validation layer.
|
||||||
|
|
||||||
In the existing pipeline integration driver, extend the synthetic secrets map
|
In the existing pipeline integration driver, extend the synthetic secrets map
|
||||||
with object-storage values and explicitly supply representative S3 and publish
|
with object-storage values and explicitly supply representative S3 and publish
|
||||||
@@ -313,6 +333,12 @@ visible locally, but it would duplicate paths already owned by Narratio's
|
|||||||
built-in sources and the configured artifact definitions. Native destination
|
built-in sources and the configured artifact definitions. Native destination
|
||||||
derivation keeps path coordination automatic.
|
derivation keeps path coordination automatic.
|
||||||
|
|
||||||
|
Omitting explicit `required: true` values would avoid the v2.1.0 failure only
|
||||||
|
by relying on an unrelated defaulting path. Changing the generic role's YAML
|
||||||
|
format would not repair the underlying sequence-resolution mismatch. Narratio
|
||||||
|
v2.1.1 fixes the owning application boundary, allowing the suite to state its
|
||||||
|
requiredness policy directly without duplicating destinations.
|
||||||
|
|
||||||
Deleting spool audio after publication would minimize transient disk usage,
|
Deleting spool audio after publication would minimize transient disk usage,
|
||||||
but no such retention policy has been selected, and local-audio sessions may
|
but no such retention policy has been selected, and local-audio sessions may
|
||||||
depend on that content. Leaving the field omitted preserves Narratio's default
|
depend on that content. Leaving the field omitted preserves Narratio's default
|
||||||
@@ -330,6 +356,8 @@ operational workflow.
|
|||||||
- The pipeline role declares and documents every suite variable shown in the
|
- The pipeline role declares and documents every suite variable shown in the
|
||||||
target state, with matching argument-spec entries and direct Narratio
|
target state, with matching argument-spec entries and direct Narratio
|
||||||
dependency mappings.
|
dependency mappings.
|
||||||
|
- The pipeline installs Narratio v2.1.1, whose released configuration loader
|
||||||
|
supports explicit requiredness together with derived publish destinations.
|
||||||
- The two credential-reference variables accept paired `null` overrides so a
|
- The two credential-reference variables accept paired `null` overrides so a
|
||||||
caller can deliberately select Narratio's ambient AWS SDK provider chain.
|
caller can deliberately select Narratio's ambient AWS SDK provider chain.
|
||||||
- The default effective Narratio configuration selects the specified
|
- The default effective Narratio configuration selects the specified
|
||||||
@@ -346,8 +374,9 @@ operational workflow.
|
|||||||
credential value.
|
credential value.
|
||||||
- No new production task, template, handler, fact, state file, wrapper, or
|
- No new production task, template, handler, fact, state file, wrapper, or
|
||||||
storage-validation command is introduced.
|
storage-validation command is introduced.
|
||||||
- The standalone Narratio role remains unchanged because its v2.1.0 interface
|
- The standalone Narratio role remains unchanged because its `v0.1.0` role
|
||||||
already renders the required native fields and preserves null omission.
|
interface can install Narratio v2.1.1, renders the required native fields,
|
||||||
|
and preserves null omission.
|
||||||
- The existing pipeline integration scenario explicitly supplies
|
- The existing pipeline integration scenario explicitly supplies
|
||||||
representative S3 and publish inputs, resolves synthetic values for all four
|
representative S3 and publish inputs, resolves synthetic values for all four
|
||||||
typed credentials, passes Narratio's native configuration validation, and
|
typed credentials, passes Narratio's native configuration validation, and
|
||||||
@@ -363,7 +392,9 @@ operational workflow.
|
|||||||
validation, and clean-repeat suite passes without a duplicate S3 behavior
|
validation, and clean-repeat suite passes without a duplicate S3 behavior
|
||||||
test.
|
test.
|
||||||
- No real object-storage request, paid model request, application repository
|
- No real object-storage request, paid model request, application repository
|
||||||
change, asset change, release tag, or published artifact is required.
|
change during the remaining implementation, asset change, new release tag,
|
||||||
|
or published artifact is required. The existing Narratio v2.1.1 release is a
|
||||||
|
prerequisite rather than an implementation deliverable.
|
||||||
- Pipeline documentation links operators to Narratio's canonical procedures
|
- Pipeline documentation links operators to Narratio's canonical procedures
|
||||||
for S3 session audio, publish, restore, locks, status, and cleanup and no
|
for S3 session audio, publish, restore, locks, status, and cleanup and no
|
||||||
longer describes storage and publishing as deferred.
|
longer describes storage and publishing as deferred.
|
||||||
@@ -373,9 +404,10 @@ operational workflow.
|
|||||||
|
|
||||||
## Dependencies and Follow-up Work
|
## Dependencies and Follow-up Work
|
||||||
|
|
||||||
Features 0009, 0011, 0012, 0013, and 0014 are prerequisites. In particular,
|
Features 0009, 0011, 0012, 0013, and 0014 and the public Narratio v2.1.1 bugfix
|
||||||
Feature 0011 supplies the credential directory and Feature 0014 supplies the
|
release are prerequisites. In particular, Feature 0011 supplies the credential
|
||||||
human-operator access needed for the eventual live deployment.
|
directory and Feature 0014 supplies the human-operator access needed for the
|
||||||
|
eventual live deployment.
|
||||||
|
|
||||||
[Feature 0016](0016-deploy-dnd-pipeline-to-pipeline-dnd.md) follows this work.
|
[Feature 0016](0016-deploy-dnd-pipeline-to-pipeline-dnd.md) follows this work.
|
||||||
It will put the four actual values in encrypted host inventory, pin the exact
|
It will put the four actual values in encrypted host inventory, pin the exact
|
||||||
|
|||||||
@@ -14,10 +14,12 @@ Active plan location: `docs/roadmap/implementation.md`
|
|||||||
Configure the authoritative D&D pipeline role to use the selected Backblaze
|
Configure the authoritative D&D pipeline role to use the selected Backblaze
|
||||||
S3-compatible archive, typed object-storage credential references, maximum S3
|
S3-compatible archive, typed object-storage credential references, maximum S3
|
||||||
audio caching, immutable run publication, selected transcript and D&D artifact
|
audio caching, immutable run publication, selected transcript and D&D artifact
|
||||||
outputs, and cleanup of successfully published workspace state. Validate the
|
outputs, and cleanup of successfully published workspace state. Advance the
|
||||||
configuration through Narratio's native interface, import the exact reviewed
|
pipeline to Narratio v2.1.1 so explicit publish requiredness composes with
|
||||||
pipeline commit into the collection from public Gitea, and leave the result
|
native destination derivation. Validate the configuration through Narratio's
|
||||||
ready for the real-host deployment in Feature 0016.
|
native interface, import the exact reviewed pipeline commit into the collection
|
||||||
|
from public Gitea, and leave the result ready for the real-host deployment in
|
||||||
|
Feature 0016.
|
||||||
|
|
||||||
The Feature 0015 roadmap remains authoritative for scope, rationale, target
|
The Feature 0015 roadmap remains authoritative for scope, rationale, target
|
||||||
state, and acceptance criteria. This plan does not authorize a second storage
|
state, and acceptance criteria. This plan does not authorize a second storage
|
||||||
@@ -69,16 +71,22 @@ lane, or changes to the generic Narratio role.
|
|||||||
- Features 0009, 0011, 0012, 0013, and 0014 are complete.
|
- Features 0009, 0011, 0012, 0013, and 0014 are complete.
|
||||||
- The approved Feature 0015 roadmap and this implementation plan are committed
|
- The approved Feature 0015 roadmap and this implementation plan are committed
|
||||||
in the workspace repository before the sprint begins.
|
in the workspace repository before the sprint begins.
|
||||||
- `ansible-role-dnd-pipeline` starts clean on `main` at
|
- `ansible-role-dnd-pipeline` remains based on
|
||||||
`c13f726a0a846180a1aa95d110b8bbc801edaae5`, equal to `origin/main`.
|
`c13f726a0a846180a1aa95d110b8bbc801edaae5`, equal to `origin/main`, with the
|
||||||
|
interrupted Stage 1 edits preserved and uncommitted in `README.md`,
|
||||||
|
`defaults/main.yml`, `meta/argument_specs.yml`, `meta/main.yml`, and
|
||||||
|
`tests/integration`. Review and complete those edits; do not discard them.
|
||||||
- `ansible-collection-dnd` starts clean on `main` at
|
- `ansible-collection-dnd` starts clean on `main` at
|
||||||
`c0b0ebd13e92199f3d94e138c6cc50d1ece5dadd`, equal to `origin/main`.
|
`c0b0ebd13e92199f3d94e138c6cc50d1ece5dadd`, equal to `origin/main`.
|
||||||
- `ansible-role-narratio` is clean at
|
- `ansible-role-narratio` is clean at
|
||||||
`292d8669e7aad5cfe80b0c469d22b6177e8cf0f1`, equal to `origin/main`, and its
|
`292d8669e7aad5cfe80b0c469d22b6177e8cf0f1`, equal to `origin/main`, and its
|
||||||
`v0.1.0` role release contains the Narratio v2.1.0 field-specific interface
|
`v0.1.0` role release contains the field-specific interface required by this
|
||||||
required by this feature.
|
feature and can install Narratio v2.1.1 through `narratio_version`.
|
||||||
- The sibling Narratio application repository is clean at public release
|
- The sibling Narratio application repository is clean at public release
|
||||||
`v2.1.0`. It is a read-only contract source during this sprint.
|
`v2.1.1`, commit `442469b9f57e65ce17f09059609dd1a37cf8c3b6`. That
|
||||||
|
backward-compatible release corrects destination derivation with explicit
|
||||||
|
publish requiredness and is a read-only contract source during the resumed
|
||||||
|
sprint.
|
||||||
- The workspace `.venv` supplies the tested `ansible-playbook`,
|
- The workspace `.venv` supplies the tested `ansible-playbook`,
|
||||||
`ansible-galaxy`, and `ansible-lint` commands used by the repository test
|
`ansible-galaxy`, and `ansible-lint` commands used by the repository test
|
||||||
drivers.
|
drivers.
|
||||||
@@ -99,7 +107,7 @@ lane, or changes to the generic Narratio role.
|
|||||||
collection snapshot.
|
collection snapshot.
|
||||||
- `ansible-workspace-dnd` records the implementation handoff after the two
|
- `ansible-workspace-dnd` records the implementation handoff after the two
|
||||||
implementation repositories are complete.
|
implementation repositories are complete.
|
||||||
- `ansible-role-narratio`, all other standalone roles, application sources,
|
- `ansible-role-narratio`, all standalone roles, application sources,
|
||||||
asset repositories, and `rakestraw-ansible` may be inspected but must remain
|
asset repositories, and `rakestraw-ansible` may be inspected but must remain
|
||||||
unchanged.
|
unchanged.
|
||||||
|
|
||||||
@@ -131,13 +139,17 @@ Before beginning this stage, read:
|
|||||||
|
|
||||||
### Preconditions
|
### Preconditions
|
||||||
|
|
||||||
- The workspace planning commit containing this plan is present.
|
- The workspace planning commit containing the original approved plan and this
|
||||||
- `ansible-role-dnd-pipeline` is clean at the starting revision, is not behind
|
resumed-plan revision are present.
|
||||||
or diverged from `origin/main`, and contains no unrelated changes.
|
- `ansible-role-dnd-pipeline` is based on the starting revision, is not behind
|
||||||
|
or diverged from `origin/main`, and its only working-tree changes are the
|
||||||
|
preserved interrupted Stage 1 edits identified in Starting State and
|
||||||
|
Preconditions.
|
||||||
- The current `rakestraw.narratio` dependency mapping and existing integration
|
- The current `rakestraw.narratio` dependency mapping and existing integration
|
||||||
driver still match the structures reviewed while preparing this plan.
|
driver still match the structures reviewed while preparing this plan.
|
||||||
- Narratio v2.1.0 still accepts the roadmap-selected storage, publish, cleanup,
|
- Narratio v2.1.1 remains publicly available and accepts the roadmap-selected
|
||||||
cache, and typed credential-reference fields.
|
storage, publish, cleanup, cache, and typed credential-reference fields,
|
||||||
|
including rules with explicit `required` and omitted derivable `dest`.
|
||||||
|
|
||||||
### Owning Repository
|
### Owning Repository
|
||||||
|
|
||||||
@@ -145,7 +157,11 @@ Before beginning this stage, read:
|
|||||||
|
|
||||||
### Required Changes
|
### Required Changes
|
||||||
|
|
||||||
1. Add the following exact suite defaults to `defaults/main.yml` near the
|
1. Advance the existing application default to
|
||||||
|
`dnd_pipeline_narratio_version: v2.1.1`. Do not change the standalone
|
||||||
|
Narratio role release pin: its existing public interface can install this
|
||||||
|
compatible application patch release.
|
||||||
|
2. Add the following exact suite defaults to `defaults/main.yml` near the
|
||||||
existing Narratio policy variables:
|
existing Narratio policy variables:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -181,7 +197,7 @@ Before beginning this stage, read:
|
|||||||
Keep every `dest` omitted. Narratio derives transcript destinations from
|
Keep every `dest` omitted. Narratio derives transcript destinations from
|
||||||
built-in sources and artifact destinations from the already managed
|
built-in sources and artifact destinations from the already managed
|
||||||
artifact output paths.
|
artifact output paths.
|
||||||
2. Add matching public entries to `meta/argument_specs.yml`. Use `type: bool`
|
3. Add matching public entries to `meta/argument_specs.yml`. Use `type: bool`
|
||||||
for the cleanup, path-style, cache, enabled, and upload settings; `type: str`
|
for the cleanup, path-style, cache, enabled, and upload settings; `type: str`
|
||||||
for the backend and S3 string fields; and `type: list` for the complete
|
for the backend and S3 string fields; and `type: list` for the complete
|
||||||
publish output list. The S3 child fields, including both credential
|
publish output list. The S3 child fields, including both credential
|
||||||
@@ -190,55 +206,56 @@ Before beginning this stage, read:
|
|||||||
pair to `null` when selecting the AWS SDK provider chain. The remaining
|
pair to `null` when selecting the AWS SDK provider chain. The remaining
|
||||||
concrete suite-policy fields follow the role's existing required/defaulted
|
concrete suite-policy fields follow the role's existing required/defaulted
|
||||||
argument-spec convention.
|
argument-spec convention.
|
||||||
3. In the `rakestraw.narratio` dependency entry in `meta/main.yml`, map every
|
4. In the `rakestraw.narratio` dependency entry in `meta/main.yml`, map every
|
||||||
new suite variable directly to its same-purpose standalone variable:
|
new suite variable directly to its same-purpose standalone variable:
|
||||||
`narratio_workspace_cleanup_after_publish`, the eight
|
`narratio_workspace_cleanup_after_publish`, the eight
|
||||||
`narratio_storage_*` fields, `narratio_cache_s3_audio`,
|
`narratio_storage_*` fields, `narratio_cache_s3_audio`,
|
||||||
`narratio_publish_enabled`, `narratio_publish_upload_run`, and
|
`narratio_publish_enabled`, `narratio_publish_upload_run`, and
|
||||||
`narratio_publish_outputs`.
|
`narratio_publish_outputs`.
|
||||||
4. Do not map `narratio_spool_delete_audio_after_publish`. Do not map
|
5. Do not map `narratio_spool_delete_audio_after_publish`. Do not map
|
||||||
`narratio_notarius_chunk_cache`. Do not add a new import, fragment,
|
`narratio_notarius_chunk_cache`. Do not add a new import, fragment,
|
||||||
template, task, handler, assertion, or configuration-validation command.
|
template, task, handler, assertion, or configuration-validation command.
|
||||||
5. Revise the README's variable reference and processing-policy sections to
|
6. Revise the README's application-version reference, upstream links, variable
|
||||||
|
reference, and processing-policy sections for Narratio v2.1.1 and
|
||||||
document the selected S3 destination, paired nullable credential
|
document the selected S3 destination, paired nullable credential
|
||||||
references, complete-list publish semantics, native destination derivation,
|
references, complete-list publish semantics, native destination derivation,
|
||||||
maximum S3 audio caching, successful-publication workspace cleanup, and
|
maximum S3 audio caching, successful-publication workspace cleanup, and
|
||||||
deliberate omission of spool deletion.
|
deliberate omission of spool deletion.
|
||||||
6. Extend the README's managed-credential example to show
|
7. Extend the README's managed-credential example to show
|
||||||
`OBJECT_STORAGE_KEY_ID` and `OBJECT_STORAGE_KEY` mapped from encrypted
|
`OBJECT_STORAGE_KEY_ID` and `OBJECT_STORAGE_KEY` mapped from encrypted
|
||||||
inventory beside the existing Audita and OpenRouter entries. Explain that
|
inventory beside the existing Audita and OpenRouter entries. Explain that
|
||||||
values remain outside ordinary configuration and that setting both S3
|
values remain outside ordinary configuration and that setting both S3
|
||||||
credential references to `null` selects Narratio's ambient AWS SDK provider
|
credential references to `null` selects Narratio's ambient AWS SDK provider
|
||||||
chain.
|
chain.
|
||||||
7. Replace the README's statement that storage and publishing are deferred
|
8. Replace the README's statement that storage and publishing are deferred
|
||||||
with concise operator-facing descriptions and public upstream links for S3
|
with concise operator-facing descriptions and public upstream links for S3
|
||||||
session audio, publish, restore, publication locks, status, and cleanup.
|
session audio, publish, restore, publication locks, status, and cleanup.
|
||||||
Explain that accepted Notarius lanes remain
|
Explain that accepted Notarius lanes remain
|
||||||
`narratio.extraction.<output_key>` analyze inputs independently of whether
|
`narratio.extraction.<output_key>` analyze inputs independently of whether
|
||||||
they have stable publish rules.
|
they have stable publish rules.
|
||||||
8. Adapt the existing `tests/integration` baseline rather than adding a new
|
9. Adapt the existing `tests/integration` baseline rather than adding a new
|
||||||
scenario. Add two synthetic object-storage values to
|
scenario. Add two synthetic object-storage values to
|
||||||
`dnd_pipeline_secrets`; explicitly unset `OBJECT_STORAGE_KEY_ID` and
|
`dnd_pipeline_secrets`; explicitly unset `OBJECT_STORAGE_KEY_ID` and
|
||||||
`OBJECT_STORAGE_KEY` alongside the existing provider variables when
|
`OBJECT_STORAGE_KEY` alongside the existing provider variables when
|
||||||
invoking Ansible; and explicitly pass representative non-default S3,
|
invoking Ansible; and explicitly pass representative non-default S3,
|
||||||
cleanup, cache, and publish values through the new public variables.
|
cleanup, cache, and publish values through the new public variables.
|
||||||
9. Use representative values that exercise the interface without freezing the
|
10. Use representative values that exercise the interface without freezing the
|
||||||
defaults: for example an `.invalid` HTTPS endpoint and fixture bucket,
|
defaults: for example an `.invalid` HTTPS endpoint and fixture bucket,
|
||||||
prefix, and region; intentional `false` values for cleanup, path style, and
|
prefix, and region; intentional `false` values for cleanup, path style, and
|
||||||
S3 audio caching; the two configured credential reference names; enabled
|
S3 audio caching; the two configured credential reference names; enabled
|
||||||
run publication; and a short complete publish list containing one built-in
|
run publication; and a short complete publish list containing one built-in
|
||||||
transcript source and `narratio.artifact.session_recap` with omitted
|
transcript source and `narratio.artifact.session_recap` with omitted
|
||||||
destinations.
|
destinations.
|
||||||
10. Extend the existing secret-safe effective-configuration inspection only
|
11. Extend the existing secret-safe effective-configuration inspection only
|
||||||
enough to demonstrate the explicitly supplied representative storage
|
enough to demonstrate the explicitly supplied representative storage
|
||||||
fields, typed credential names, falsey cache/cleanup choices, enabled
|
fields, typed credential names, falsey cache/cleanup choices, enabled
|
||||||
publication, and Narratio-derived destinations. Continue to use
|
publication, and Narratio-derived destinations. Continue to use
|
||||||
`narratio config validate` as the native validity boundary. Do not inspect
|
`narratio config validate` as the native validity boundary. Do not inspect
|
||||||
role task results, call S3, or reproduce Narratio's validation rules.
|
role task results, call S3, or reproduce Narratio's validation rules.
|
||||||
11. Extend the current non-disclosure check to cover both synthetic
|
12. Extend the current non-disclosure check to cover both synthetic
|
||||||
object-storage values. Preserve the complete existing integration matrix,
|
object-storage values. Preserve the complete existing integration matrix,
|
||||||
cleanup behavior, and immediate clean-repeat assertions.
|
cleanup behavior, and immediate clean-repeat assertions.
|
||||||
12. Run the complete repository validation. Commit the valid result with the
|
13. Run the complete repository validation. Commit the valid result with the
|
||||||
stated plain-English message, push `main` to public Gitea, and record the
|
stated plain-English message, push `main` to public Gitea, and record the
|
||||||
full pushed commit hash for Stage 3.
|
full pushed commit hash for Stage 3.
|
||||||
|
|
||||||
@@ -252,15 +269,17 @@ Run from the workspace root:
|
|||||||
|
|
||||||
Expected result: syntax checking and production-profile lint pass; all five
|
Expected result: syntax checking and production-profile lint pass; all five
|
||||||
applications remain valid; the explicitly supplied S3 and publish values
|
applications remain valid; the explicitly supplied S3 and publish values
|
||||||
resolve through Narratio's native configuration interface; only reference
|
resolve through Narratio v2.1.1's native configuration interface; explicit
|
||||||
names appear in effective output; no synthetic credential value appears in
|
publish requiredness and omitted destinations produce the derived destinations;
|
||||||
captured output; no external S3 or model request occurs; and the immediate
|
only reference names appear in effective output; no synthetic credential value
|
||||||
identical repeat reports `changed=0` and `failed=0`.
|
appears in captured output; no external S3 or model request occurs; and the
|
||||||
|
immediate identical repeat reports `changed=0` and `failed=0`.
|
||||||
|
|
||||||
### Completion Criteria
|
### Completion Criteria
|
||||||
|
|
||||||
- Defaults, argument specifications, dependency mappings, and documentation
|
- The pipeline selects Narratio v2.1.1, and defaults, argument specifications,
|
||||||
implement exactly the Feature 0015 contract.
|
dependency mappings, and documentation implement exactly the Feature 0015
|
||||||
|
contract.
|
||||||
- No production task, template, fragment, validation command, or second secret
|
- No production task, template, fragment, validation command, or second secret
|
||||||
path was added.
|
path was added.
|
||||||
- The representative integration scenario exercises public inputs rather than
|
- The representative integration scenario exercises public inputs rather than
|
||||||
@@ -400,7 +419,8 @@ Before beginning this stage, read:
|
|||||||
dependency mappings, README, and detailed integration fixture.
|
dependency mappings, README, and detailed integration fixture.
|
||||||
3. Do not modify `galaxy.yml`, `requirements.yml`, release documentation, or
|
3. Do not modify `galaxy.yml`, `requirements.yml`, release documentation, or
|
||||||
the published `v0.1.0` artifacts. Feature 0015 changes no standalone role or
|
the published `v0.1.0` artifacts. Feature 0015 changes no standalone role or
|
||||||
native collection dependency and publishes no release.
|
native collection dependency and publishes no new release; the pipeline's
|
||||||
|
application-version variable carries the Narratio v2.1.1 selection.
|
||||||
4. Run the complete collection integration suite against the built and
|
4. Run the complete collection integration suite against the built and
|
||||||
installed artifact. Do not add collection-level assertions for the detailed
|
installed artifact. Do not add collection-level assertions for the detailed
|
||||||
S3 configuration; native validation and clean convergence remain the
|
S3 configuration; native validation and clean convergence remain the
|
||||||
@@ -520,8 +540,9 @@ Commit intent: `Record D&D storage and publishing implementation`
|
|||||||
unexpected branch divergence or untracked artifact.
|
unexpected branch divergence or untracked artifact.
|
||||||
- Report the full pipeline commit, collection fixture commit, collection
|
- Report the full pipeline commit, collection fixture commit, collection
|
||||||
subtree merge and squash commits, and workspace handoff commit.
|
subtree merge and squash commits, and workspace handoff commit.
|
||||||
- Confirm that `ansible-role-narratio`, all other standalone roles,
|
- Confirm that `ansible-role-narratio`, all standalone roles, applications,
|
||||||
applications, assets, and `rakestraw-ansible` remained unchanged.
|
assets, and `rakestraw-ansible` remained unchanged during the resumed sprint;
|
||||||
|
Narratio v2.1.1 was an already released prerequisite.
|
||||||
- Summarize any deviation from this plan, unresolved finding, or complexity
|
- Summarize any deviation from this plan, unresolved finding, or complexity
|
||||||
added beyond direct variable mapping and identify the acceptance criterion
|
added beyond direct variable mapping and identify the acceptance criterion
|
||||||
that required it.
|
that required it.
|
||||||
@@ -530,4 +551,12 @@ Commit intent: `Record D&D storage and publishing implementation`
|
|||||||
|
|
||||||
## Progress Notes
|
## Progress Notes
|
||||||
|
|
||||||
- Planning complete; implementation has not begun.
|
- The original plan was approved and Stage 1 began against Narratio v2.1.0.
|
||||||
|
- Native validation exposed Narratio's publish-output atomic-sequence
|
||||||
|
bookkeeping defect; the implementation agent correctly stopped with its
|
||||||
|
partial pipeline edits uncommitted.
|
||||||
|
- Narratio v2.1.1 at `442469b9f57e65ce17f09059609dd1a37cf8c3b6`
|
||||||
|
corrected the defect and added focused regression coverage without changing
|
||||||
|
the public configuration contract.
|
||||||
|
- Resume Stage 1 from the preserved pipeline edits, advance the application pin
|
||||||
|
to v2.1.1, rerun the complete validation, and then continue in stage order.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Last updated: 2026-09-21
|
|||||||
|
|
||||||
Current milestone: Operational D&D pipeline deployment
|
Current milestone: Operational D&D pipeline deployment
|
||||||
|
|
||||||
Current focus: Review the Feature 0015 staged implementation plan.
|
Current focus: Resume Feature 0015 implementation against Narratio v2.1.1.
|
||||||
|
|
||||||
| ID | Deliverable | Owner | State | Evidence or next step |
|
| ID | Deliverable | Owner | State | Evidence or next step |
|
||||||
| --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- |
|
||||||
@@ -31,7 +31,7 @@ Current focus: Review the Feature 0015 staged implementation plan.
|
|||||||
| F0012 | Assemble the D&D collection | ansible-collection-dnd and ansible-role-dnd-pipeline | done | Pipeline `600eb21` assembled and validated through collection remediation commit `da67b34` |
|
| F0012 | Assemble the D&D collection | ansible-collection-dnd and ansible-role-dnd-pipeline | done | Pipeline `600eb21` assembled and validated through collection remediation commit `da67b34` |
|
||||||
| F0013 | Publish the first coordinated suite release | all Ansible repositories and workspace | done | Public [`rakestraw.dnd` 0.1.0 release](https://gitea.maximumdirect.net/eric/ansible-collection-dnd/releases/tag/v0.1.0); documentation remediation completed in pipeline `78afffe` and collection `5e695f3` |
|
| F0013 | Publish the first coordinated suite release | all Ansible repositories and workspace | done | Public [`rakestraw.dnd` 0.1.0 release](https://gitea.maximumdirect.net/eric/ansible-collection-dnd/releases/tag/v0.1.0); documentation remediation completed in pipeline `78afffe` and collection `5e695f3` |
|
||||||
| F0014 | Enroll existing pipeline operators | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | done | Pipeline `c13f726` and collection import `c0b0ebd` passed their complete integration suites and independent review with no remediation findings |
|
| F0014 | Enroll existing pipeline operators | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | done | Pipeline `c13f726` and collection import `c0b0ebd` passed their complete integration suites and independent review with no remediation findings |
|
||||||
| F0015 | Enable D&D S3 storage and publishing | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | ready | [Roadmap](roadmap/features/0015-dnd-s3-storage-and-publishing.md) approved; prepare the staged implementation plan |
|
| F0015 | Enable D&D S3 storage and publishing | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | ready | [Roadmap](roadmap/features/0015-dnd-s3-storage-and-publishing.md) and staged plan updated for released [Narratio v2.1.1](https://gitea.maximumdirect.net/eric/narratio/releases/tag/v2.1.1); resume Stage 1 from preserved pipeline edits |
|
||||||
| F0016 | Deploy the D&D pipeline to `pipeline-dnd` | rakestraw-ansible and workspace | proposed | [Roadmap](roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md) drafted; Feature 0015 is a prerequisite |
|
| F0016 | Deploy the D&D pipeline to `pipeline-dnd` | rakestraw-ansible and workspace | proposed | [Roadmap](roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md) drafted; Feature 0015 is a prerequisite |
|
||||||
| A0001 | Audit completed standalone-role test suites | workspace and standalone roles | done | Findings recorded in `docs/roadmap/test-suite-audit-findings.md` |
|
| A0001 | Audit completed standalone-role test suites | workspace and standalone roles | done | Findings recorded in `docs/roadmap/test-suite-audit-findings.md` |
|
||||||
| R0001 | Simplify completed standalone-role test suites | workspace and standalone roles | done | Role commits `e08c63c`, `d2d0b9d`, and `cfecf37` passed implementation and independent review |
|
| R0001 | Simplify completed standalone-role test suites | workspace and standalone roles | done | Role commits `e08c63c`, `d2d0b9d`, and `cfecf37` passed implementation and independent review |
|
||||||
|
|||||||
Reference in New Issue
Block a user