Extract a complete, source-traceable legacy evidence specification for one Oracle Forms module from Forms XML/FMT/FMB/FMX, PLL/PLD, DDL, message catalogues, menus/object libraries, and screenshots. Use for fresh or incremental reverse engineering when the output must preserve every evidenced screen region, tab, field, operation, rule, message, database dependency, provenance locator, uncertainty, and source-supported detail without inventing target requirements, target architecture, target tests, POC assumptions, or implementation decisions.
66
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
These gates determine whether the selected module has been exhaustively extracted against the supplied readable evidence and whether source changes make evidence regions stale.
They do not assess POC readiness, production parity, target implementation feasibility, target architecture, or requirement approval. Those decisions belong to later curation and engineering workflows.
{
"gate_id": "GATE-FORMS-STRUCTURE",
"level": "evidence",
"operation": "module|query|insert|update|delete|validate|save|custom",
"status": "pass|pass_with_registered_gaps|fail|not_applicable",
"supporting_record_ids": [],
"blocking_record_ids": [],
"reason": ""
}Pass when every supplied file has a hash, role, module association or explicit unrelated disposition, readability, and parse status.
Pass when current hashes and the specification fingerprint reconcile and no source changed after extraction.
Pass when every selected-module window, canvas, tab page, block, relation, LOV, record group, trigger, program unit, and item from readable Forms sources is represented with its extracted properties or precisely gapped. Aggregate counts do not satisfy this gate.
Pass when every item is assigned to its evidenced canvas/tab/section/grid or has a precise ambiguous-placement gap. A database block is not automatically a visual section.
Pass when design-time CRUD is recorded and every runtime/inherited uncertainty is either resolved or precisely gapped. Do not collapse design-time and effective values.
Pass when each applicable item-to-column mapping is supported by Forms properties, SQL, or DDL, or is precisely gapped, and every DDL-resolved mapping shows the physical type directly beside TABLE.COLUMN.
Pass when the linked Markdown package contains no truncation marker or lossy +N more placeholder; every normalized operation and relevant DDL record is present completely in its designated child; and every decoded trigger/program-unit body retained by the normalized model is present exactly with its source hash. The master and all children must share module, run, and fingerprint metadata and have resolving relative links.
Pass when every supplied inbound foreign key to each selected persistence object is rendered with referencing/referenced columns and ON DELETE behavior, then explicitly reconciled with the dependencies checked by decoded Forms delete paths. Forms routines must not be described as a complete database-dependency inventory unless both sets are proven equal.
Pass when required audit columns have a source-established population mechanism. Otherwise pass only with a precise runtime/source gap naming the affected table and columns; never infer that Forms or a database trigger owns population.
Pass when all decoded entry points and reachable calls are recorded, and unresolved calls identify affected operations and source locators.
Pass when query, insert, update, delete, validate, save/commit/rollback, and custom paths found in readable source are represented separately.
Pass when every referenced database object is resolved to supplied DDL or appears in a precise missing-DDL gap.
Pass when decoded branches, validations, calculations, message codes/text, stop effects, and exception paths are represented or precisely gapped. In the master rule ledger, associate a message with a business condition only when it occurs inside the active decoded IF/ELSIF branch in the same unit or another explicit control-flow relation proves it. Preserve unbound messages explicitly and never repeat a path-wide message/stop-effect collection for each branch.
Pass when every supplied image is scored for module association and every plausible match is linked in the specification with basis and confidence. No screenshot is required for overall extraction to pass; absence is recorded.
Pass when every coverage denominator equals extracted/accounted records plus precise unresolved records and the numbers can be recomputed from normalized evidence.
When one or more prior specifications are used, pass when each legacy anchor or exact source statement independently supported by current evidence remains represented anywhere in the current package. Ignore target-only IDs and proposals. In fresh mode, include adjacent previous_<output-name>.md, the same-named flat historical specification when output is nested, and <output-stem>_v*.md specifications unless an explicit oracle or opt-out is supplied. For a nested feature package, also search its parent evidence/features/ folder for historical flat specifications.
pass: the dimension is fully accounted for by readable supplied evidence.pass_with_registered_gaps: every known denominator member is accounted for, but exact source or runtime evidence remains missing.fail: supplied readable evidence is omitted, inconsistent, stale, or not traceable.not_applicable: the dimension has a source-backed reason not to apply.An open, precise source gap is not itself an extraction failure. An unregistered omission is.
Statements such as “no validation”, “read-only”, “no delete logic”, “no dependency”, or “no external effect” are allowed only when:
Otherwise write “not established by supplied evidence” and register a gap when material.
Map source changes to affected evidence regions:
| Change kind | Minimum stale regions |
|---|---|
| Forms structure/item property | Screen overview, module structure, layout, fields, full item inventory |
| Trigger/program-unit body | Operation ledger, actions, rules, workflow, processing, messages, event mapping |
| DDL | Data mapping, constraints/defaults, processing, DDL inventory |
| Screenshot | Screen overview and source/screenshot inventory |
| Gap lifecycle | Evidence summary, unknowns, coverage/gaps, extraction history |
| Extractor semantic version | All generated evidence regions |
Refresh must replace all impacted marker regions and update the fingerprint/history. It must preserve unrelated human review notes outside generated regions.
Fail a generated or refreshed specification when:
ON DELETE effect is omitted;Report evidence status by dimension and operation:
{
"overall_evidence": "pass_with_registered_gaps",
"operations": {
"query": "pass",
"insert": "pass_with_registered_gaps",
"update": "pass_with_registered_gaps",
"delete": "not_applicable"
},
"open_gap_subjects": [],
"stale_sections": []
}