@aiaiai-pt/frankctl 0.4.4 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +36 -4
- package/dist/index.js +282 -275
- package/package.json +1 -1
- package/skills/frank-cli/SKILL.md +43 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
3
3
|
All notable changes to `@aiaiai-pt/frankctl` are documented here. This project
|
|
4
4
|
adheres to [Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## 0.5.1
|
|
7
|
+
|
|
8
|
+
- Make `pipelines apply --wait` consume the precision-safe ontology
|
|
9
|
+
`snapshot_id_exact`, retaining string-valued `snapshot_id` only as an old-API
|
|
10
|
+
fallback and continuing to reject numeric-only evidence.
|
|
11
|
+
|
|
12
|
+
## 0.5.0
|
|
13
|
+
|
|
14
|
+
- Make `Source.spec.streams` declarative desired state: create or patch named
|
|
15
|
+
streams without resetting runtime state, report omitted streams as unmanaged,
|
|
16
|
+
export configuration-only stream declarations, and scope `apply --wait` to
|
|
17
|
+
explicitly declared enabled streams.
|
|
18
|
+
- Add Source-level execution and chunk-budget fields to declarative apply,
|
|
19
|
+
create/update validation, server preflight, and export.
|
|
20
|
+
- Extend server preflight with opt-in, GET-only live ontology validation through
|
|
21
|
+
`pipelines apply --dry-run-server --live-ontology`.
|
|
22
|
+
- Correlate `pipelines apply --wait` to the exact Source, Transform, and ontology
|
|
23
|
+
runs it starts; emit precision-safe snapshot IDs and durable REST bulk-job
|
|
24
|
+
evidence through `--json`.
|
|
25
|
+
- Validate relationship prerequisites through `BackingDataset.metadata.dependsOn`
|
|
26
|
+
and execute manual BackingDatasets in topological order.
|
|
27
|
+
- Treat raw pipeline exports as private review material when Sources contain
|
|
28
|
+
literal credentials; `frankctl` does not interpolate environment variables in
|
|
29
|
+
Source configuration.
|
|
30
|
+
|
|
6
31
|
## 0.4.4
|
|
7
32
|
|
|
8
33
|
- Add `backing-datasets sync --force` and poll the exact ontology sync run,
|
package/README.md
CHANGED
|
@@ -57,15 +57,47 @@ when force replay is unsupported or unadvertised.
|
|
|
57
57
|
|
|
58
58
|
### Declarative apply (`pipelines apply -f`)
|
|
59
59
|
|
|
60
|
-
`frankctl pipelines apply -f vertical.yaml`
|
|
61
|
-
Pipeline + BackingDataset triple from a single multi-doc YAML file
|
|
60
|
+
`frankctl pipelines apply -f vertical.yaml` can provision a complete Source +
|
|
61
|
+
Pipeline + BackingDataset triple from a single multi-doc YAML file when the
|
|
62
|
+
Source contains no credential value.
|
|
62
63
|
Docs use the kubectl-style envelope (`apiVersion: frank.platform/v1`,
|
|
63
64
|
`kind:`, `metadata.name:`, `spec:`). The CLI sorts by kind (Source →
|
|
64
65
|
Pipeline → BackingDataset), resolves cross-doc name references to UUIDs,
|
|
65
66
|
and POSTs each doc with `?if-not-exists=true`. `frankctl pipelines export
|
|
66
67
|
<id> -o yaml` round-trips an existing pipeline back to a multi-doc YAML
|
|
67
|
-
file
|
|
68
|
-
|
|
68
|
+
file for private review. Current Source config uses literal credentials,
|
|
69
|
+
`frankctl` performs no environment interpolation, and export preserves that
|
|
70
|
+
config. Split secret-bearing Sources into an untracked mode-0600 file before
|
|
71
|
+
committing the non-secret Pipeline/BackingDataset declarations. See
|
|
72
|
+
`../docs/guides/cli.md` for the full reference and Frank issue #602 for the
|
|
73
|
+
future Vault-backed reference contract.
|
|
74
|
+
|
|
75
|
+
Relationship-bearing BackingDatasets declare their prerequisites in
|
|
76
|
+
`metadata.dependsOn` and explicitly use `spec.sync_mode: manual`. The graph is
|
|
77
|
+
currently invocation-local rather than persisted server policy, so missing mode
|
|
78
|
+
and `on_materialization` are rejected. `--wait` directly triggers those manual
|
|
79
|
+
BackingDatasets in topological order and requires external targets to be already
|
|
80
|
+
`synced`; missing dependencies, cycles, and self-referential relationships fail
|
|
81
|
+
before execution.
|
|
82
|
+
|
|
83
|
+
`Source.spec.streams` is desired state on create and reapply: declared streams
|
|
84
|
+
are created/patched by name without resetting cursor, chunk, counter, or run
|
|
85
|
+
state. Omitted streams are preserved and reported as unmanaged; explicitly set
|
|
86
|
+
`is_enabled: false` to disable one. Client dry-run shows the declaration,
|
|
87
|
+
server dry-run shows per-stream actions, and export emits config-only stream
|
|
88
|
+
declarations without runtime state. With `--wait`, an explicit declaration
|
|
89
|
+
syncs only its enabled stream names, so preserved unmanaged streams do not run.
|
|
90
|
+
For a migration, explicitly declare known obsolete enabled streams with
|
|
91
|
+
`is_enabled: false` as well, so scheduled/direct Source syncs converge safely.
|
|
92
|
+
|
|
93
|
+
Use `--dry-run-server --live-ontology` for an opt-in, GET-only check of
|
|
94
|
+
BackingDataset mappings against the server's configured ontology. Use
|
|
95
|
+
`--wait --json` to execute with exact Source, Transform, and BackingDataset
|
|
96
|
+
run correlation and emit one evidence object. `--wait` does not replace a
|
|
97
|
+
separate ontology entity readback; an ontology run reported as `skipped`
|
|
98
|
+
means the snapshot was already converged and no rows were replayed. REST bulk
|
|
99
|
+
runs include durable job IDs and submitted/completed counts from the exact
|
|
100
|
+
ontology SyncRun; credentials and row payloads are never included.
|
|
69
101
|
|
|
70
102
|
## Environment
|
|
71
103
|
|