close: profile registry config file
This commit is contained in:
parent
3f67c83d43
commit
43cff6d410
|
|
@ -2,12 +2,12 @@
|
||||||
id: 20260529-180257-profile-registry-config-file
|
id: 20260529-180257-profile-registry-config-file
|
||||||
slug: profile-registry-config-file
|
slug: profile-registry-config-file
|
||||||
title: Move profile registry out of manifest files
|
title: Move profile registry out of manifest files
|
||||||
status: open
|
status: closed
|
||||||
kind: bug
|
kind: bug
|
||||||
priority: P1
|
priority: P1
|
||||||
labels: [manifest, profiles, config]
|
labels: [manifest, profiles, config]
|
||||||
created_at: 2026-05-29T18:02:57Z
|
created_at: 2026-05-29T18:02:57Z
|
||||||
updated_at: 2026-05-29T18:02:57Z
|
updated_at: 2026-05-29T18:11:10Z
|
||||||
assignee: null
|
assignee: null
|
||||||
legacy_ticket: null
|
legacy_ticket: null
|
||||||
---
|
---
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
id: 20260529-180257-profile-registry-config-file
|
||||||
|
slug: profile-registry-config-file
|
||||||
|
title: Move profile registry out of manifest files
|
||||||
|
status: closed
|
||||||
|
kind: bug
|
||||||
|
priority: P1
|
||||||
|
labels: [manifest, profiles, config]
|
||||||
|
created_at: 2026-05-29T18:02:57Z
|
||||||
|
updated_at: 2026-05-29T18:11:09Z
|
||||||
|
assignee: null
|
||||||
|
legacy_ticket: null
|
||||||
|
---
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
The initial Nix manifest profiles implementation made profile discovery/default/alias metadata available from `[profiles]` sections inside `manifest.toml`. That is a design error.
|
||||||
|
|
||||||
|
A manifest is the Pod runtime configuration contract: model, scope, tools, memory, web, permissions, prompts, and other settings that are already selected for a Pod. Profile registry/default/alias metadata is application/project UX configuration used before a Pod manifest exists. Putting registry metadata inside `manifest.toml` makes the manifest both the runtime config and the profile selector config, contradicting the profile design.
|
||||||
|
|
||||||
|
This was caught immediately after merge, before compatibility needs exist. Do not keep backward compatibility for `[profiles]` in manifest files.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Move profile registry/default/alias configuration out of manifest files.
|
||||||
|
- User registry file: `<config_dir>/profiles.toml`.
|
||||||
|
- Project registry file: closest `.insomnia/profiles.toml` found by walking up from the cwd.
|
||||||
|
- Builtin profile discovery can remain under bundled resources.
|
||||||
|
- Remove manifest-file profile registry parsing.
|
||||||
|
- `manifest.toml` must not be the source for profile registry/default/alias data.
|
||||||
|
- `INSOMNIA_USER_MANIFEST` must not affect profile registry discovery.
|
||||||
|
- `PodManifestConfig` / `PodManifest` must remain runtime config only.
|
||||||
|
- Use a top-level `profiles.toml` schema rather than nesting under `[profiles]`.
|
||||||
|
- Example:
|
||||||
|
```toml
|
||||||
|
default = "coder"
|
||||||
|
|
||||||
|
[profile]
|
||||||
|
coder = "profiles/coder.nix"
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
work = "coder"
|
||||||
|
```
|
||||||
|
- The existing table form for entries may remain useful:
|
||||||
|
```toml
|
||||||
|
[profile.coder]
|
||||||
|
path = "profiles/coder.nix"
|
||||||
|
description = "Project coder"
|
||||||
|
```
|
||||||
|
- Keep existing profile selection semantics.
|
||||||
|
- `default`, unqualified names, source-qualified names, aliases, ambiguity handling, and default markers should continue to work.
|
||||||
|
- Unqualified alias/default targets remain source-local by default.
|
||||||
|
- TUI fresh-spawn profile row and manifest-cascade opt-out should continue to work.
|
||||||
|
- Update docs and tests.
|
||||||
|
- Documentation must describe `profiles.toml`, not `[profiles]` in `manifest.toml`.
|
||||||
|
- Tests should create `.insomnia/profiles.toml` / user `profiles.toml`, not `.insomnia/manifest.toml`, for registry behavior.
|
||||||
|
- Add coverage proving `[profiles]` in `manifest.toml` is ignored for discovery.
|
||||||
|
|
||||||
|
## Acceptance criteria
|
||||||
|
|
||||||
|
- User profile registry is discovered from `<config_dir>/profiles.toml`.
|
||||||
|
- Project profile registry is discovered from closest `.insomnia/profiles.toml`.
|
||||||
|
- `[profiles]` in user/project `manifest.toml` is not read for profile registry/default/alias discovery.
|
||||||
|
- `INSOMNIA_USER_MANIFEST` does not change profile registry discovery.
|
||||||
|
- Existing CLI/TUI selector behavior still works with `profiles.toml`.
|
||||||
|
- Docs no longer instruct users to put profile registry metadata in `manifest.toml`.
|
||||||
|
- Focused manifest/tui/pod/client profile tests pass.
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- Relevant checks pass.
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
<!-- event: create author: tickets.sh at: 2026-05-29T18:02:57Z -->
|
||||||
|
|
||||||
|
## Created
|
||||||
|
|
||||||
|
Created by tickets.sh create.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-05-29T18:11:10Z status: closed -->
|
||||||
|
|
||||||
|
## Closed
|
||||||
|
|
||||||
|
---
|
||||||
|
id: 20260529-180257-profile-registry-config-file
|
||||||
|
slug: profile-registry-config-file
|
||||||
|
title: Move profile registry out of manifest files
|
||||||
|
status: closed
|
||||||
|
kind: bug
|
||||||
|
priority: P1
|
||||||
|
labels: [manifest, profiles, config]
|
||||||
|
created_at: 2026-05-29T18:02:57Z
|
||||||
|
updated_at: 2026-05-29T18:11:09Z
|
||||||
|
assignee: null
|
||||||
|
legacy_ticket: null
|
||||||
|
---
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
The initial Nix manifest profiles implementation made profile discovery/default/alias metadata available from `[profiles]` sections inside `manifest.toml`. That is a design error.
|
||||||
|
|
||||||
|
A manifest is the Pod runtime configuration contract: model, scope, tools, memory, web, permissions, prompts, and other settings that are already selected for a Pod. Profile registry/default/alias metadata is application/project UX configuration used before a Pod manifest exists. Putting registry metadata inside `manifest.toml` makes the manifest both the runtime config and the profile selector config, contradicting the profile design.
|
||||||
|
|
||||||
|
This was caught immediately after merge, before compatibility needs exist. Do not keep backward compatibility for `[profiles]` in manifest files.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Move profile registry/default/alias configuration out of manifest files.
|
||||||
|
- User registry file: `<config_dir>/profiles.toml`.
|
||||||
|
- Project registry file: closest `.insomnia/profiles.toml` found by walking up from the cwd.
|
||||||
|
- Builtin profile discovery can remain under bundled resources.
|
||||||
|
- Remove manifest-file profile registry parsing.
|
||||||
|
- `manifest.toml` must not be the source for profile registry/default/alias data.
|
||||||
|
- `INSOMNIA_USER_MANIFEST` must not affect profile registry discovery.
|
||||||
|
- `PodManifestConfig` / `PodManifest` must remain runtime config only.
|
||||||
|
- Use a top-level `profiles.toml` schema rather than nesting under `[profiles]`.
|
||||||
|
- Example:
|
||||||
|
```toml
|
||||||
|
default = "coder"
|
||||||
|
|
||||||
|
[profile]
|
||||||
|
coder = "profiles/coder.nix"
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
work = "coder"
|
||||||
|
```
|
||||||
|
- The existing table form for entries may remain useful:
|
||||||
|
```toml
|
||||||
|
[profile.coder]
|
||||||
|
path = "profiles/coder.nix"
|
||||||
|
description = "Project coder"
|
||||||
|
```
|
||||||
|
- Keep existing profile selection semantics.
|
||||||
|
- `default`, unqualified names, source-qualified names, aliases, ambiguity handling, and default markers should continue to work.
|
||||||
|
- Unqualified alias/default targets remain source-local by default.
|
||||||
|
- TUI fresh-spawn profile row and manifest-cascade opt-out should continue to work.
|
||||||
|
- Update docs and tests.
|
||||||
|
- Documentation must describe `profiles.toml`, not `[profiles]` in `manifest.toml`.
|
||||||
|
- Tests should create `.insomnia/profiles.toml` / user `profiles.toml`, not `.insomnia/manifest.toml`, for registry behavior.
|
||||||
|
- Add coverage proving `[profiles]` in `manifest.toml` is ignored for discovery.
|
||||||
|
|
||||||
|
## Acceptance criteria
|
||||||
|
|
||||||
|
- User profile registry is discovered from `<config_dir>/profiles.toml`.
|
||||||
|
- Project profile registry is discovered from closest `.insomnia/profiles.toml`.
|
||||||
|
- `[profiles]` in user/project `manifest.toml` is not read for profile registry/default/alias discovery.
|
||||||
|
- `INSOMNIA_USER_MANIFEST` does not change profile registry discovery.
|
||||||
|
- Existing CLI/TUI selector behavior still works with `profiles.toml`.
|
||||||
|
- Docs no longer instruct users to put profile registry metadata in `manifest.toml`.
|
||||||
|
- Focused manifest/tui/pod/client profile tests pass.
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- Relevant checks pass.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<!-- event: create author: tickets.sh at: 2026-05-29T18:02:57Z -->
|
|
||||||
|
|
||||||
## Created
|
|
||||||
|
|
||||||
Created by tickets.sh create.
|
|
||||||
|
|
||||||
---
|
|
||||||
Loading…
Reference in New Issue
Block a user