aeat.agent._workspace module¶
Materialise a Claude-native operator workspace from the shipped harness data.
Per ADR R4 the workspace materialiser is DEMOTED from the primary delivery vehicle to an optional Claude-native mirror: the operating layer reaches an arbitrary MCP client through the console’s floor tool, resources, and prompts, and this materialiser is the Claude-specific enhancement that lays the same shipped harness out in the layout a Claude Code project loads natively.
The emitted layout is the Claude-native convention for an end-user project
directory - never the repository’s own vaultspec developer .claude/ tree:
workflow skills ->
.claude/skills/<name>/SKILL.md(plus each skill’sreference/progressive-disclosure material), the standard skill layout;tax-advisor personas ->
.claude/agents/<name>.md, Claude Code subagent definitions;operator operating rules ->
.claude/rules/<name>.md, aggregated by a rootCLAUDE.mdthat@-imports each rule so the always-on operating contract loads at session start.
This is a REPLACEMENT of the prior flat {rules,personas,skills}/ layout, not
an addition (the no-legacy discipline): the flat layout is gone. It writes only
the reviewed harness markdown (no secrets, no tax data) and computes no value.
- class PluginManifest(**data)[source]¶
Bases:
BaseModelResult of materialising a Claude plugin from the shipped harness source.
skills_written/agents_writtencount theskills/<name>/SKILL.mdandagents/<persona>.mddocuments written at the plugin root;persona_defaultis theuserConfigpersona default baked into the manifest (empty string = the full tool surface).- Parameters:
- output_path: str¶
- plugin_name: str¶
- version: str¶
- skills_written: int¶
- agents_written: int¶
- persona_default: str¶
- class MarketplaceManifest(**data)[source]¶
Bases:
BaseModelResult of materialising the marketplace-served tree from the harness source.
plugin_sourceis the relativeplugins[].sourcethe marketplace manifest points at (./plugins/aeat);pluginis the nestedPluginManifestfor the plugin materialised under that source, so the marketplace and the plugin it serves are one emission and cannot drift.- Parameters:
output_path (str)
marketplace_name (str)
plugin_source (str)
plugin (PluginManifest)
- output_path: str¶
- marketplace_name: str¶
- plugin_source: str¶
- plugin: PluginManifest¶
- materialise_plugin(output_dir, *, version=None, persona_default='')[source]¶
Write the shipped harness under
output_diras a Claude plugin.Emits
.claude-plugin/plugin.jsoncarrying the plugin manifest (including theuserConfigpersona option), the top-levelskills/<name>/SKILL.mdtree (plus each skill’sreference/material), theagents/<persona>.mdtree with Claude-native frontmatter, and the.mcp.jsonstdio server declaration, all from the single authored harness source. Theversionis resolved from installed package metadata when not supplied;persona_defaultseeds theuserConfigpersona default.- Return type:
- Returns:
PluginManifestdescribing the plugin written.- Parameters:
- materialise_marketplace(output_dir, *, version=None, persona_default='')[source]¶
Write the marketplace-served tree under
output_dirfrom the harness source.Emits
.claude-plugin/marketplace.jsonlisting the aeat plugin and, under the relativeplugins/aeatsource it points at, the full plugin tree viamaterialise_plugin(). Because both come from one call, the marketplace manifest and the plugin it serves cannot drift.versionandpersona_defaultpass straight through to the plugin emission.- Return type:
- Returns:
MarketplaceManifestdescribing the marketplace tree written.- Parameters:
- class WorkspaceManifest(**data)[source]¶
Bases:
BaseModelResult of materialising a Claude-native operator workspace.
rules_written/personas_written/skills_writtencount the.claude/rules,.claude/agents, and.claude/skillsdocuments written; the aggregatingCLAUDE.mdis derived from the rules and is not separately counted.- output_path: str¶
- rules_written: int¶
- personas_written: int¶
- skills_written: int¶
- materialise_workspace(output_dir)[source]¶
Write the shipped harness under
output_dirin the Claude-native layout.Emits
.claude/skills/<name>/SKILL.md(plus each skill’sreference/material),.claude/agents/<persona>.md,.claude/rules/<rule>.md, and a rootCLAUDE.mdimporting every rule.- Return type:
- Returns:
WorkspaceManifestdescribing the files written.- Parameters:
output_dir (Path)