You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/MCP.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -131,11 +131,14 @@ Each individual framework capability can be gated in the model's `config` array.
131
131
### Resolution Rules
132
132
133
133
For each feature/capability configuration section:
134
-
1.**Omitted (Null):** If a capability config section is omitted from the model configuration, the feature defaults to **enabled** for both REST and MCP.
134
+
1.**Omitted (Null):** If a capability config section is omitted from the model configuration, the feature's availability defaults to the master model option:
135
+
- For **REST API**: falls back to `show_in_rest` (which itself defaults to `true`).
136
+
- For **MCP Tools**: falls back to `mcp_tools` (which itself defaults to `false` if omitted).
137
+
- If the respective master option is omitted/false, the feature is **disabled**. If the master option is `true`, the feature is **enabled**.
135
138
2.**Boolean Value:** If defined as a simple boolean (e.g., `'meta' => false` or `'features' => ['duplicate' => false]`), it acts as a joint gate. A value of `false` disables both REST and MCP for that capability; a value of `true` enables both.
136
139
3.**Array Value:** If defined as an array, REST and MCP gating can be configured independently:
137
-
-**REST Route Gating:** Governed by the `show_in_rest` key in the section array. If the key is omitted, REST is **enabled** (`true`). If present, it resolves to its boolean value.
138
-
-**MCP Tool Gating:** Governed by the `show_in_mcp` key in the section array. If the key is omitted, MCP is **enabled** (`true`). If present, it resolves to its boolean value.
140
+
-**REST Route Gating:** Governed by the `show_in_rest` key in the section array. If present, it resolves to its boolean value. If omitted, it falls back to matching the master model `show_in_rest` option.
141
+
-**MCP Tool Gating:** Governed by the `show_in_mcp` key in the section array. If present, it resolves to its boolean value. If omitted, it falls back to matching the master model `mcp_tools` option.
139
142
140
143
Enable all Saltus REST-backed and MCP capabilities for a model:
141
144
@@ -170,12 +173,12 @@ return [
170
173
'settings' => false,
171
174
172
175
'features' => [
173
-
// 3. Array style: enabled for REST, and defaults to enabled for MCP
176
+
// 3. Array style: enabled for REST, and defaults to matching master options (enabled) for MCP
174
177
'duplicate' => [
175
178
'show_in_rest' => true,
176
179
],
177
180
// 4. Omitted config for single_export and drag_and_drop:
178
-
// both default to enabled for REST and MCP
181
+
// both default to matching the master options (enabled here because show_in_rest & mcp_tools are true)
Copy file name to clipboardExpand all lines: docs/ROADMAP.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -481,3 +481,21 @@ AI write -> draft/pending/revision -> human approval -> publish
481
481
---
482
482
483
483
**Exit criteria (Phase 6 overall):** AI governance is configurable per model via `ai_context`. Mutating MCP tools respect context rules and default to review-queue creation. Inside-admin assistants are operational for configured models. All features are tested.
**Theme:** Upgrade the framework's dependency injection container to support reflection-based parameter resolution (autowiring) for third-party services, avoiding standard constructor mapping errors.
490
+
491
+
| Item | Status |
492
+
|------|--------|
493
+
|`ReflectionInstantiator` class implementing `Instantiator`| ○ Pending |
| Constructor parameter default value fallbacks | ○ Pending |
496
+
| Clean validation and exception flow for unresolved parameters | ○ Pending |
497
+
| Remove requirement for `Assembly::make` boilerplate on custom services | ○ Pending |
498
+
| Container autowiring unit tests (`tests/Unit/Infrastructure/Container/`) | ○ Pending |
499
+
| Developer documentation update for custom service constructors | ○ Pending |
500
+
501
+
**Exit criteria:** Developers can register custom services in the container with standard typed/positional constructor arguments. The container uses PHP Reflection to map parameter names to container keys, falling back to default arguments or throwing descriptive runtime exceptions when dependencies cannot be resolved.
0 commit comments