EDT-MCP external objects
Purpose and trigger
Use this skill for metadata, code, forms, builds, or a bounded debug run of an
external data processor/report that exists in an EDT external-object project.
Operating rule
Read and apply the common operating rules before this workflow.
Task boundary
Select the exact external-object project and qualified
ExternalDataProcessor.<Name> or ExternalReport.<Name> target. Do not
substitute its linked base configuration, a normal configuration object, or a
prebuilt .epf/.erf outside an EDT project.
Primary workflow
- Resolve the project, object, linked base application, and runtime target with
list_projects, get_applications, and list_configurations.
- Route metadata structure to
edt-mcp-project-metadata, BSL changes to
edt-mcp-project-local-fix, and managed-form work to
edt-mcp-project-forms; re-read and validate the exact owning object after
a mutation.
- For a build, resolve the qualified target and compare its simple name across
both external-object kinds.
objectName is a simple-name selector; stop on
a processor/report collision unless building both is explicitly authorized.
Before building, obtain explicit update/restructure authority for the
associated build infobase, or confirm that it is disposable; the platform
dumper may prepare and update that infobase even for an ordinary build.
Call build_external_objects into a fresh empty staging directory, omitting
objectName only for an authorized build-all. Set recordBuildTime=false
unless changing the source object's Comment was requested. Verify the result
and staged artifact before promotion; preserve an existing artifact and
authorize its exact replacement before any in-place build or promotion.
- For a debug run, complete target, launch-policy, disclosure, credential, and
debug_status preflight first, using set_infobase_credentials only when
authorized. If a matching live client exists, use it only as an explicitly
authorized target; stop when the external object requires a fresh launch.
Otherwise call set_breakpoint before launching the resolved external-object
target according to the current launch help/schema. Retain task-owned
IDs and verify that the returned target identity matches the resolved target.
If a preflight race returns alreadyRunning=true, refresh the uniquely
identified target, resume only a task-caused suspension, remove task-owned
temporary state, and stop. Terminate and relaunch only with explicit user
authorization.
- After launch, settle the task-owned launch outcome under current tool
help/schema and a bounded caller-approved deadline before cleanup, an
absence claim, or completion. If the deadline expires, report the launch as
in-flight or unknown with its outstanding task-owned cleanup obligation; do
not assume a later client cannot appear. Once settled, call
wait_for_break
and inspect with get_variables only when the current help proves the
intended debug target is unambiguous. Otherwise remove only task-owned
temporary state and stop.
- Finish with
resume for any task-suspended execution, calling
remove_breakpoint, and using terminate_launch only for a uniquely
identified, task-owned launch whose termination is authorized.
Authority rule
Building, credentials, infobase update/restructure, external-change handling,
launch/restart, artifact replacement, data disclosure, and termination require
the authority applicable to their exact targets and effects.
Stop rule
Stop on wrong project kind, ambiguous object/runtime/debug target, unsupported
write, missing prerequisite, unavailable credentials, or unapproved side
effects. Never operate on an unrelated active launch to make the route work.
Completion signal
Report the exact project/object, confirmed changes or build artifacts, bounded
runtime evidence when requested, partial or unproved claims, and cleanup of all
task-owned temporary state.
1---2name: edt-mcp-project-external-objects3description: Work with external data processor/report projects through EDT-MCP: metadata, forms, builds, and one-run debug launch. Not for prebuilt files outside an EDT project.4---56# EDT-MCP external objects78## Purpose and trigger910Use this skill for metadata, code, forms, builds, or a bounded debug run of an11external data processor/report that exists in an EDT external-object project.1213## Operating rule1415Read and apply [the common operating rules](../COMMON.md) before this workflow.1617## Task boundary1819Select the exact external-object project and qualified20`ExternalDataProcessor.<Name>` or `ExternalReport.<Name>` target. Do not21substitute its linked base configuration, a normal configuration object, or a22prebuilt `.epf`/`.erf` outside an EDT project.2324## Primary workflow25261. Resolve the project, object, linked base application, and runtime target with27 `list_projects`, `get_applications`, and `list_configurations`.282. Route metadata structure to `edt-mcp-project-metadata`, BSL changes to29 `edt-mcp-project-local-fix`, and managed-form work to30 `edt-mcp-project-forms`; re-read and validate the exact owning object after31 a mutation.323. For a build, resolve the qualified target and compare its simple name across33 both external-object kinds. `objectName` is a simple-name selector; stop on34 a processor/report collision unless building both is explicitly authorized.35 Before building, obtain explicit update/restructure authority for the36 associated build infobase, or confirm that it is disposable; the platform37 dumper may prepare and update that infobase even for an ordinary build.38 Call `build_external_objects` into a fresh empty staging directory, omitting39 `objectName` only for an authorized build-all. Set `recordBuildTime=false`40 unless changing the source object's Comment was requested. Verify the result41 and staged artifact before promotion; preserve an existing artifact and42 authorize its exact replacement before any in-place build or promotion.434. For a debug run, complete target, launch-policy, disclosure, credential, and44 `debug_status` preflight first, using `set_infobase_credentials` only when45 authorized. If a matching live client exists, use it only as an explicitly46 authorized target; stop when the external object requires a fresh launch.47 Otherwise call `set_breakpoint` before launching the resolved external-object48 target according to the current `launch` help/schema. Retain task-owned49 IDs and verify that the returned target identity matches the resolved target.50 If a preflight race returns `alreadyRunning=true`, refresh the uniquely51 identified target, resume only a task-caused suspension, remove task-owned52 temporary state, and stop. Terminate and relaunch only with explicit user53 authorization.545. After launch, settle the task-owned launch outcome under current tool55 help/schema and a bounded caller-approved deadline before cleanup, an56 absence claim, or completion. If the deadline expires, report the launch as57 in-flight or unknown with its outstanding task-owned cleanup obligation; do58 not assume a later client cannot appear. Once settled, call `wait_for_break`59 and inspect with `get_variables` only when the current help proves the60 intended debug target is unambiguous. Otherwise remove only task-owned61 temporary state and stop.626. Finish with `resume` for any task-suspended execution, calling63 `remove_breakpoint`, and using `terminate_launch` only for a uniquely64 identified, task-owned launch whose termination is authorized.6566## Authority rule6768Building, credentials, infobase update/restructure, external-change handling,69launch/restart, artifact replacement, data disclosure, and termination require70the authority applicable to their exact targets and effects.7172## Stop rule7374Stop on wrong project kind, ambiguous object/runtime/debug target, unsupported75write, missing prerequisite, unavailable credentials, or unapproved side76effects. Never operate on an unrelated active launch to make the route work.7778## Completion signal7980Report the exact project/object, confirmed changes or build artifacts, bounded81runtime evidence when requested, partial or unproved claims, and cleanup of all82task-owned temporary state.