packet-tracer-skill 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -1
- package/README.md +221 -51
- package/docs/automation-controller-proof.md +35 -0
- package/docs/curated-donor-registry.md +11 -0
- package/docs/generate-ready-pilot-design.md +30 -0
- package/docs/industrial-programming-proof.md +48 -0
- package/docs/ipv4-routing-management-proof.md +37 -0
- package/docs/l2-resiliency-bgp-proof.md +60 -0
- package/docs/l2-security-qos-proof.md +59 -0
- package/docs/packet-tracer-feature-gap-atlas.md +172 -15
- package/docs/release-checklist.md +13 -8
- package/docs/release-notes-0.2.2.md +1 -1
- package/docs/release-notes-0.2.3.md +59 -0
- package/docs/security-edge-deepening-proof.md +65 -0
- package/docs/voice-collaboration-proof.md +38 -0
- package/docs/wan-security-donor-proof.md +20 -3
- package/package.json +10 -1
- package/references/packettracer-feature-atlas.json +67 -17
- package/scripts/coverage_matrix.py +505 -12
- package/scripts/feature_atlas.py +65 -1
- package/scripts/generate_pkt.py +161 -3
- package/scripts/intent_parser.py +521 -2
- package/scripts/pkt_editor.py +477 -0
- package/scripts/remote_search.py +197 -21
- package/scripts/sample_catalog.py +57 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,37 @@ All notable changes to this project should be recorded in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is intentionally simple and release-oriented.
|
|
6
6
|
|
|
7
|
+
## [0.2.3] - 2026-05-03
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- voice/collaboration edit-proven proof for IOS `telephony-service`, `ephone-dn`, `ephone`, and `dial-peer voice` command shapes
|
|
12
|
+
- automation/controller edit-proven proof for existing Python, JavaScript, and TCP/UDP script-file replacement
|
|
13
|
+
- L2 security/QoS edit-proven proof for explicit dot1x and QoS IOS switch commands
|
|
14
|
+
- security-edge deepening proof for explicit router CBAC and ZFW IOS commands
|
|
15
|
+
- L2 resiliency + BGP edit-proven proof for explicit BGP, STP/RSTP, EtherChannel/LACP/PAgP, VTP, and DTP IOS commands
|
|
16
|
+
- IPv4 routing/NAT/IOS-management edit-proven proof for explicit OSPFv2, EIGRP IPv4, RIPv2, static/default route, DHCP relay, NAT/PAT, SSH, NTP, and syslog IOS commands
|
|
17
|
+
- local user-supplied Packet Tracer corpus audit via `--local-sample-audit-root` and ignored `output/local-sample-audit.json`
|
|
18
|
+
- donor-backed readiness expansion for dot1x, ZFW, voice/collaboration IOS edits, and automation/controller script-file edits
|
|
19
|
+
- donor-backed readiness expansion for explicit OSPFv3, EIGRP IPv6, RIPng, and IPv6 HSRP edit paths
|
|
20
|
+
- generate-ready pilot design doc that defines the future acceptance gate without enabling broad generate
|
|
21
|
+
- local/cache-only GitHub sample ingestion audit for `.pkt`/`.pka` repositories, license status, decode evidence, and promotion status
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- feature atlas candidate status now promotes `ospfv3`, `eigrp_ipv6`, `ripng`, `hsrp`, `dot1x`, `qos`, `cbac`, and `zfw` only when editor roundtrip and decode-backed evidence exists
|
|
26
|
+
- donor-backed readiness now requires proof-linked sample, decode, parser, and editor roundtrip evidence
|
|
27
|
+
- remote samples with unknown license metadata now stay `reference_only`; permissive-license samples still require decode and inventory validation before curated donor eligibility
|
|
28
|
+
- local `pkt_examples` evidence is now separated from public curated truth; raw `.pkt/.pka` files remain excluded from git and npm
|
|
29
|
+
- README and proof docs now describe `0.2.3` as a capability release, not an unpublished candidate
|
|
30
|
+
- ASA service-policy, clientless VPN, Linksys voice, Network Controller GUI, Blockly, VM/IOx, and broad physical/media workflows remain report-only
|
|
31
|
+
|
|
32
|
+
### Notes
|
|
33
|
+
|
|
34
|
+
- `0.2.3` is a capability proof/readiness release, not a broad generation release
|
|
35
|
+
- `generate_ready=0` remains intentional until donor-backed acceptance evidence exists
|
|
36
|
+
- broad NAC, QoS, ASA, and security topology generation remains blocked
|
|
37
|
+
|
|
7
38
|
## [0.2.2]
|
|
8
39
|
|
|
9
40
|
### Added
|
|
@@ -15,7 +46,7 @@ The format is intentionally simple and release-oriented.
|
|
|
15
46
|
### Changed
|
|
16
47
|
|
|
17
48
|
- package version advanced to `0.2.2` for the README/runtime cleanup and advanced wireless feature wave
|
|
18
|
-
- README runtime setup no longer presents a user-specific
|
|
49
|
+
- README runtime setup no longer presents a user-specific local path as the default bridge location
|
|
19
50
|
- advanced wireless prompts now classify into the `wireless_advanced` family without drifting into `service_heavy`
|
|
20
51
|
- WEP and WPA Enterprise/RADIUS are represented as edit-proven where explicit deterministic edit targets exist, while broader WLC/cellular/Bluetooth/Meraki scope remains report-only
|
|
21
52
|
|
package/README.md
CHANGED
|
@@ -1,20 +1,54 @@
|
|
|
1
|
-
# packet-tracer-skill
|
|
1
|
+
# packet-tracer-skill
|
|
2
2
|
|
|
3
3
|
[](https://github.com/20hajiyev/packet-tracer-skill/actions/workflows/ci.yml)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://github.com/20hajiyev/packet-tracer-skill)
|
|
6
6
|
|
|
7
|
-
Cisco Packet Tracer 9.x `.pkt` generator and editor for skill-based coding hosts.
|
|
8
|
-
|
|
9
|
-
This repository is built for one job: take a natural-language network request, build an explicit scenario-aware plan, adapt a compatible donor lab, and produce a Packet Tracer 9.x workflow that stays open-first and compatibility-first.
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
Cisco Packet Tracer 9.x `.pkt` generator and editor for skill-based coding hosts.
|
|
8
|
+
|
|
9
|
+
This repository is built for one job: take a natural-language network request, build an explicit scenario-aware plan, adapt a compatible donor lab, and produce a Packet Tracer 9.x workflow that stays open-first and compatibility-first.
|
|
10
|
+
|
|
11
|
+
It is intended for networking labs where correctness matters more than producing a pretty but unverifiable diagram. The skill can plan, inspect, edit, compare, and explain Packet Tracer scenarios, but it deliberately separates "recognized by the parser", "visible in inventory", "edit-proven", "donor-backed ready", and "generate-ready" support.
|
|
12
|
+
|
|
13
|
+
`0.2.3` capability release is focused on:
|
|
12
14
|
|
|
13
15
|
- donor-backed and scenario-aware public messaging
|
|
14
16
|
- conservative Windows-first runtime truth
|
|
15
17
|
- known working scenario set examples with acceptance-backed artifacts
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
+
- expanded edit-proven capability proof across voice, automation, L2 security, WAN/security, BGP/L2 resiliency, IPv4 routing/NAT, IOS management, and local sample audit workflows
|
|
19
|
+
|
|
20
|
+
`0.2.3` freezes the voice/collaboration and automation/controller proof work, explicit L2 dot1x/QoS and router-based CBAC/ZFW proof, local-sample-driven BGP/L2 resiliency, IPv4 routing/NAT/IOS-management proof waves, and the first broader donor-backed edit readiness expansion. It remains conservative: `generate_ready=0` is intentional until a future single-donor acceptance-backed pilot is proven.
|
|
21
|
+
|
|
22
|
+
## What It Does
|
|
23
|
+
|
|
24
|
+
`packet-tracer-skill` turns network-lab requests into explicit Packet Tracer workflows. The core loop is:
|
|
25
|
+
|
|
26
|
+
1. parse the prompt into a scenario family and requested capabilities
|
|
27
|
+
2. compare those capabilities against the current support matrix
|
|
28
|
+
3. look for a compatible donor lab when strict `.pkt` work is required
|
|
29
|
+
4. refuse unsafe or unsupported changes instead of guessing
|
|
30
|
+
5. return a decision payload that explains what passed, what failed, and what would make it pass
|
|
31
|
+
|
|
32
|
+
The current public surface is strongest for these tasks:
|
|
33
|
+
|
|
34
|
+
- scenario-aware planning for campus, service-heavy, Home IoT, WAN/security edge, IPv6/routing, IPv4 routing/management, L2 security/monitoring, L2 resiliency/BGP, and advanced wireless prompts
|
|
35
|
+
- explicit `.pkt` edits for proven command shapes such as VLAN, DHCP, ACL, server services, IPv6/routing subsets, IPv4 routing/NAT/IOS-management subsets, L2 security/monitoring subsets, BGP/STP/EtherChannel/VTP/DTP IOS text edits, Home IoT constrained edits, and narrow advanced wireless edits
|
|
36
|
+
- capability parity reports that explain whether a prompt is inventory-known, edit-supported, donor-limited, acceptance-gated, or unsupported
|
|
37
|
+
- runtime diagnostics for Packet Tracer installation, donor path, Twofish bridge resolution, and blocked versus ready operations
|
|
38
|
+
- public proof artifacts through examples, inventory manifests, acceptance excerpts, and donor proof docs
|
|
39
|
+
|
|
40
|
+
## What It Does Not Claim
|
|
41
|
+
|
|
42
|
+
The project is intentionally conservative. It does not claim universal Packet Tracer automation.
|
|
43
|
+
|
|
44
|
+
- It does not claim every Packet Tracer feature is generate-ready.
|
|
45
|
+
- It does not synthesize arbitrary `.pkt` internals when donor or acceptance evidence is weak.
|
|
46
|
+
- It does not treat a successful skill install as proof that real `.pkt` decode/edit/generate is ready.
|
|
47
|
+
- It does not commit raw `.pkt` donor labs or local bridge binaries into the public package.
|
|
48
|
+
- It does not claim repo-local self-contained runtime readiness when validation depends on an external bridge override.
|
|
49
|
+
|
|
50
|
+
The feature atlas exists so unsupported and under-modelled Packet Tracer areas are visible instead of hidden. The intended path is: map the feature, prove inventory visibility, prove edit roundtrip, add donor-backed readiness, and only then consider generate readiness.
|
|
51
|
+
|
|
18
52
|
## Why It Is Different
|
|
19
53
|
|
|
20
54
|
`packet-tracer-skill` is not a generic topology sketcher. It is a donor-backed Packet Tracer workflow with strict refusal behavior:
|
|
@@ -41,8 +75,15 @@ Current product strengths:
|
|
|
41
75
|
- known working examples with screenshots and acceptance excerpts
|
|
42
76
|
|
|
43
77
|
## Runtime Reality
|
|
44
|
-
|
|
45
|
-
Use the same repository, then install it into the skill path your host expects.
|
|
78
|
+
|
|
79
|
+
Use the same repository, then install it into the skill path your host expects.
|
|
80
|
+
|
|
81
|
+
There are two separate installation stories:
|
|
82
|
+
|
|
83
|
+
- installing the skill package into Codex, Cursor, Claude, Gemini, Kiro, AdaL, OpenCode, or a custom skill directory
|
|
84
|
+
- making the local machine capable of opening, decoding, editing, and regenerating real Packet Tracer `.pkt` files
|
|
85
|
+
|
|
86
|
+
The first story is handled by the npm installer. The second story depends on Packet Tracer 9.0, a compatible donor lab, and a local Twofish bridge. This is why the README keeps repeating the runtime distinction: a host can install the skill successfully while strict `.pkt` operations are still blocked.
|
|
46
87
|
|
|
47
88
|
| Tool | Install | First Use |
|
|
48
89
|
| --- | --- | --- |
|
|
@@ -119,6 +160,7 @@ powershell -ExecutionPolicy Bypass -File .\scripts\setup.ps1 -Dev
|
|
|
119
160
|
|
|
120
161
|
Launch references:
|
|
121
162
|
|
|
163
|
+
- [docs/release-notes-0.2.3.md](docs/release-notes-0.2.3.md)
|
|
122
164
|
- [docs/release-notes-0.2.2.md](docs/release-notes-0.2.2.md)
|
|
123
165
|
- [docs/hero-demo-plan.md](docs/hero-demo-plan.md)
|
|
124
166
|
- [docs/github-metadata.md](docs/github-metadata.md)
|
|
@@ -128,6 +170,13 @@ Launch references:
|
|
|
128
170
|
- [docs/home-iot-donor-proof.md](docs/home-iot-donor-proof.md)
|
|
129
171
|
- [docs/wan-security-donor-proof.md](docs/wan-security-donor-proof.md)
|
|
130
172
|
- [docs/wireless-advanced-proof.md](docs/wireless-advanced-proof.md)
|
|
173
|
+
- [docs/industrial-programming-proof.md](docs/industrial-programming-proof.md)
|
|
174
|
+
- [docs/automation-controller-proof.md](docs/automation-controller-proof.md)
|
|
175
|
+
- [docs/voice-collaboration-proof.md](docs/voice-collaboration-proof.md)
|
|
176
|
+
- [docs/l2-resiliency-bgp-proof.md](docs/l2-resiliency-bgp-proof.md)
|
|
177
|
+
- [docs/ipv4-routing-management-proof.md](docs/ipv4-routing-management-proof.md)
|
|
178
|
+
- [docs/l2-security-qos-proof.md](docs/l2-security-qos-proof.md)
|
|
179
|
+
- [docs/security-edge-deepening-proof.md](docs/security-edge-deepening-proof.md)
|
|
131
180
|
- [docs/packet-tracer-feature-gap-atlas.md](docs/packet-tracer-feature-gap-atlas.md)
|
|
132
181
|
|
|
133
182
|
## Runtime Doctor Contract
|
|
@@ -199,8 +248,7 @@ Important variables:
|
|
|
199
248
|
- `PKT_TWOFISH_LIBRARY`
|
|
200
249
|
- `PKT_TWOFISH_SEARCH_ROOTS`
|
|
201
250
|
|
|
202
|
-
Twofish bridge setup is intentionally local-machine specific.
|
|
203
|
-
user's `.codex` path as if it were universal.
|
|
251
|
+
Twofish bridge setup is intentionally local-machine specific. Use a path that exists on your own machine.
|
|
204
252
|
|
|
205
253
|
Generic explicit bridge path:
|
|
206
254
|
|
|
@@ -222,9 +270,7 @@ folder:
|
|
|
222
270
|
$env:PKT_TWOFISH_SEARCH_ROOTS="C:\path\to\bridge-folder"
|
|
223
271
|
```
|
|
224
272
|
|
|
225
|
-
Developer-local paths
|
|
226
|
-
for the person and host where that bridge exists. They are not the public setup
|
|
227
|
-
contract.
|
|
273
|
+
Developer-local bridge paths are valid only for the person and host where that bridge exists. They are not the public setup contract.
|
|
228
274
|
|
|
229
275
|
Required policy:
|
|
230
276
|
|
|
@@ -239,9 +285,11 @@ Troubleshooting guide:
|
|
|
239
285
|
- `bridge_resolution=missing` means strict decode/edit/generate is blocked until `PKT_TWOFISH_LIBRARY` or `PKT_TWOFISH_SEARCH_ROOTS` resolves a compatible bridge.
|
|
240
286
|
- `validate_open` readiness only proves Packet Tracer can launch a file. Strict `.pkt` generation still depends on donor and bridge readiness.
|
|
241
287
|
|
|
242
|
-
## Core Product Surfaces
|
|
243
|
-
|
|
244
|
-
|
|
288
|
+
## Core Product Surfaces
|
|
289
|
+
|
|
290
|
+
The CLI is not only a generator entrypoint. It is also the inspection surface for deciding whether a request is safe. In normal development, start with the reporting commands before expecting a final `.pkt` output.
|
|
291
|
+
|
|
292
|
+
Use `--explain-plan` when you need the full decision payload:
|
|
245
293
|
|
|
246
294
|
```powershell
|
|
247
295
|
python .\scripts\generate_pkt.py --explain-plan "6 department campus with router-on-a-stick, VLAN, DHCP, management VLAN, Telnet, ACL"
|
|
@@ -265,19 +313,88 @@ Use `--feature-gap-report` for the Packet Tracer 9.0 feature atlas:
|
|
|
265
313
|
python .\scripts\generate_pkt.py --feature-gap-report
|
|
266
314
|
```
|
|
267
315
|
|
|
268
|
-
|
|
316
|
+
## GitHub Sample Ingestion Is Local/Cache-Only
|
|
317
|
+
|
|
318
|
+
The skill can search GitHub for public Packet Tracer sample repositories when you explicitly opt in with `--search-remote`. This is a developer workflow for collecting evidence, not a promise that downloaded labs become trusted donors or package assets.
|
|
319
|
+
|
|
320
|
+
Remote ingestion rules:
|
|
321
|
+
|
|
322
|
+
- imported `.pkt` and `.pka` files stay under `output/remote-import-cache` by default
|
|
323
|
+
- `output/remote-import-cache` is local-only and is not included in the npm package
|
|
324
|
+
- unknown or missing license metadata is treated as `reference_only`
|
|
325
|
+
- permissive-license repositories, such as MIT, only become curated donor candidates after decode and inventory validation
|
|
326
|
+
- decode-fail samples can contribute sample-path evidence, but they never create edit, donor-backed, or generate-ready claims
|
|
327
|
+
- final `.pkt` apply still uses the same `single-donor` safety rule
|
|
328
|
+
|
|
329
|
+
Preview GitHub candidates without downloading archives:
|
|
330
|
+
|
|
331
|
+
```powershell
|
|
332
|
+
python .\scripts\generate_pkt.py --explain-plan "ipv6 ospf hsrp lab" --search-remote --remote-dry-run --max-remote-results 3
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Import into the local cache and write the audit report:
|
|
336
|
+
|
|
337
|
+
```powershell
|
|
338
|
+
python .\scripts\generate_pkt.py --explain-plan "ipv6 ospf hsrp lab" --search-remote --max-remote-results 3 --remote-audit-out output\remote-import-cache\remote-sample-audit.json
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Local Sample Audit Is Evidence-Only
|
|
342
|
+
|
|
343
|
+
If you have your own Packet Tracer lab folder, audit it locally instead of copying raw `.pkt` files into this repo:
|
|
344
|
+
|
|
345
|
+
```powershell
|
|
346
|
+
python .\scripts\generate_pkt.py --local-sample-audit-root "C:\path\to\pkt_examples"
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
By default this writes `output/local-sample-audit.json`. That file is local-only and ignored by git/npm packaging. The audit reports total `.pkt/.pka` files, decode success/fail counts, detected config capabilities, top device types, and local promotion candidates. It is evidence for future proof waves, not a curated donor registry entry by itself.
|
|
350
|
+
|
|
351
|
+
Use an explicit output path when you want to compare audit snapshots:
|
|
352
|
+
|
|
353
|
+
```powershell
|
|
354
|
+
python .\scripts\generate_pkt.py --local-sample-audit-root "C:\path\to\pkt_examples" --local-sample-audit-out output\local-sample-audit.json
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Local evidence still follows the same maturity ladder: sample path evidence, decode evidence, inventory proof, editor roundtrip proof, donor-backed readiness, then possible generate readiness. Raw user-supplied `.pkt/.pka` files are not committed or published.
|
|
358
|
+
|
|
359
|
+
The generated audit is local by design:
|
|
360
|
+
|
|
361
|
+
- `repo_url`, license, default branch, import status
|
|
362
|
+
- imported `.pkt` / `.pka` / README / LICENSE counts
|
|
363
|
+
- decode success and failure counts
|
|
364
|
+
- detected feature tags when decode succeeds
|
|
365
|
+
- license-based candidate promotion status and decode-gated validation status
|
|
366
|
+
|
|
367
|
+
The atlas now distinguishes report-only features, edit-proven features, and donor-backed edit readiness. IPv6/routing, IPv4 routing/NAT/IOS management, a constrained L2 security/monitoring subset, BGP + L2 resiliency IOS text edits, router-based CBAC/ZFW, a narrow WAN/security subset, and a narrow advanced-wireless subset can be edited with explicit commands. Real HTTP/WebSocket, OSPFv3, EIGRP IPv6, RIPng, HSRP, dot1x, ZFW, voice IOS, and selected programming script-file edits are donor-backed-ready proof paths. None of these are claimed as broad generate-ready without acceptance evidence.
|
|
368
|
+
|
|
369
|
+
Support levels used by the atlas:
|
|
370
|
+
|
|
371
|
+
- `not_mapped`: the feature is known as a Packet Tracer area, but this repo does not yet model it.
|
|
372
|
+
- `inventory_known`: the feature can be discovered or inferred from sample/catalog evidence.
|
|
373
|
+
- `report_supported`: prompts and reports can talk about the feature without claiming edits.
|
|
374
|
+
- `edit_proven`: explicit command shapes have editor roundtrip evidence.
|
|
375
|
+
- `donor_backed_ready`: a selected donor or proof-linked explicit edit path can safely carry the capability for a prompt-scoped workflow.
|
|
376
|
+
- `generate_ready`: strict generate support is acceptance-backed for that scenario.
|
|
269
377
|
|
|
270
378
|
Current feature-support truth:
|
|
271
379
|
|
|
272
380
|
| Area | Current status | Safe action |
|
|
273
381
|
| --- | --- | --- |
|
|
274
382
|
| Campus / service-heavy / Home IoT / WAN-security scenario families | Donor-aware planning and parity/report surfaces | Use `--explain-plan`, `--compare-scenarios`, and donor proof docs before strict generate claims |
|
|
275
|
-
| IPv6/routing |
|
|
276
|
-
|
|
|
383
|
+
| IPv6/routing | OSPFv3, EIGRP IPv6, RIPng, and HSRP are donor-backed ready for explicit edit paths; SLAAC and DHCPv6 stateful remain edit-proven; tunneling, ISATAP, prefix delegation, and AAAA DNS remain report-first | Use explicit router/interface commands; strict generate still needs selected-donor acceptance |
|
|
384
|
+
| IPv4 routing/management | OSPFv2, EIGRP IPv4, RIPv2, static/default route, DHCP relay, NAT/PAT, SSH, NTP, and syslog are edit-proven only for explicit IOS text commands | Use named router/interface commands; do not claim route convergence, NAT policy synthesis, or topology generation |
|
|
385
|
+
| L2 security/monitoring | Explicit dot1x is donor-backed ready; QoS and the rest of the explicit L2 subset remain edit-proven | Use explicit DHCP snooping, DAI, dot1x, QoS, LLDP, REP, SNMP, NetFlow, SPAN/RSPAN, and port-security commands |
|
|
386
|
+
| L2 resiliency + BGP | BGP, STP/RSTP, EtherChannel, LACP/PAgP, VTP, and DTP are edit-proven only for explicit IOS text commands | Use named router/switch/interface commands; do not claim topology/link synthesis or protocol convergence |
|
|
387
|
+
| WAN/security edge | Router ZFW is donor-backed ready; GRE, PPP, IPSec, VPN crypto-map, and CBAC are explicit-edit capable; ASA policies and multilayer switching remain report-only | Use explicit router edit commands; strict generate still needs selected-donor acceptance |
|
|
277
388
|
| Advanced wireless | WEP and WPA Enterprise/RADIUS are explicit-edit capable; WLC, Meraki, cellular, Bluetooth, beamforming, and guest Wi-Fi remain report-only | Keep controller/cellular/Bluetooth claims in atlas/report mode until donor-backed proof exists |
|
|
278
|
-
|
|
|
389
|
+
| Industrial programming | Real HTTP and Real WebSocket existing script files are donor-backed-ready for explicit edits; MQTT, Profinet, PTP, L2NAT, CyberObserver, and industrial firewall remain report-only | Use quoted device/app/file script edit commands only |
|
|
390
|
+
| Automation/controller | Python, JavaScript, and TCP/UDP app files are donor-backed ready through existing script-file replacement; Network Controller, Blockly, and VM/IOx remain report-only | Use quoted device/app/file script edit commands only |
|
|
391
|
+
| Voice/collaboration | IOS `telephony-service`, `ephone-dn`, `ephone`, and `dial-peer voice` commands are donor-backed ready; Linksys voice remains report-only | Use explicit router voice commands; do not claim broad Call Manager or phone GUI generation |
|
|
392
|
+
| Physical/media gaps | Report-supported atlas entries | Do not claim edit/generate support until a proof wave promotes them |
|
|
393
|
+
|
|
394
|
+
The important number is still `generate_ready=0` for the atlas gap families. That is deliberate: visibility comes first, then edit proof, then donor-backed readiness, and only then generate readiness. `donor_backed_ready` is now used for narrow explicit edit paths, not broad topology generation.
|
|
279
395
|
|
|
280
|
-
|
|
396
|
+
For `--parity-report`, prefer the critical parity counters when reading a scenario-level answer:
|
|
397
|
+
`critical_parity_donor_backed_ready_count` shows proof-linked donor readiness, while `critical_parity_generate_ready_count` only counts capabilities that are critical for the detected scenario family and generate-ready. Treat these `critical_*` counts as the release truth. The older total `parity_generate_ready_count` remains for backward compatibility, but it can include non-critical helper capabilities and should not be read as scenario-level generate readiness.
|
|
281
398
|
|
|
282
399
|
Stable CLI surfaces:
|
|
283
400
|
|
|
@@ -291,8 +408,8 @@ Stable CLI surfaces:
|
|
|
291
408
|
- `--parity-report`
|
|
292
409
|
- `--acceptance-json-out`
|
|
293
410
|
|
|
294
|
-
## Curated Donor and Fixture Truth Sources
|
|
295
|
-
|
|
411
|
+
## Curated Donor and Fixture Truth Sources
|
|
412
|
+
|
|
296
413
|
This repository keeps explicit truth sources for donor evidence and scenario regression:
|
|
297
414
|
|
|
298
415
|
- `references/curated-donor-registry.json`
|
|
@@ -303,6 +420,8 @@ Curated donor registry reference:
|
|
|
303
420
|
|
|
304
421
|
- [docs/curated-donor-registry.md](docs/curated-donor-registry.md)
|
|
305
422
|
|
|
423
|
+
The registry is not a marketing list. It is a control surface for deciding which donor classes can be trusted for which scenario families. A donor can be useful for inventory and proof while still being rejected for a larger prompt if the skeleton does not safely match the requested topology.
|
|
424
|
+
|
|
306
425
|
Current selector truth:
|
|
307
426
|
|
|
308
427
|
- a registry-backed donor can be inventory-proof without being prompt-selected
|
|
@@ -345,7 +464,7 @@ Primary screenshot:
|
|
|
345
464
|
|
|
346
465
|

|
|
347
466
|
|
|
348
|
-
Hero visual for the `0.2.
|
|
467
|
+
Hero visual for the `0.2.3` capability release surface:
|
|
349
468
|
|
|
350
469
|
- `examples/screenshots/complex_campus_master_edit_v4.png`
|
|
351
470
|
|
|
@@ -356,15 +475,35 @@ Canonical public proof:
|
|
|
356
475
|
- [docs/campus-donor-proof.md](docs/campus-donor-proof.md)
|
|
357
476
|
- [docs/home-iot-donor-proof.md](docs/home-iot-donor-proof.md)
|
|
358
477
|
- [docs/wan-security-donor-proof.md](docs/wan-security-donor-proof.md)
|
|
478
|
+
- [docs/l2-resiliency-bgp-proof.md](docs/l2-resiliency-bgp-proof.md)
|
|
479
|
+
- [docs/ipv4-routing-management-proof.md](docs/ipv4-routing-management-proof.md)
|
|
480
|
+
- [docs/l2-security-qos-proof.md](docs/l2-security-qos-proof.md)
|
|
481
|
+
- [docs/security-edge-deepening-proof.md](docs/security-edge-deepening-proof.md)
|
|
359
482
|
|
|
360
483
|
The campus donor proof is intentionally more specific than the gallery cards. It shows that a real donor artifact inventories correctly, but it also shows that a generalized campus prompt can still be donor-limited. That is exactly the kind of nuance the public docs should preserve.
|
|
361
484
|
|
|
362
485
|
The Home IoT donor proof is intentionally narrower than a generic smart-home claim. It shows that donor-backed registration, rule control, and wireless association are integrated only inside a constrained path with explicit targets and a selected donor.
|
|
363
486
|
|
|
364
|
-
The WAN/security donor proof is also conservative. It shows family-correct report/selection behavior
|
|
487
|
+
The WAN/security donor proof is also conservative. It shows family-correct report/selection behavior, donor-backed readiness semantics, and a narrow explicit-edit subset for GRE, PPP, IPSec transform-set, and VPN crypto-map skeletons. It does not claim broad synthetic WAN/security configuration generation.
|
|
488
|
+
|
|
489
|
+
The L2 resiliency + BGP proof is IOS text only. It can append explicit `router bgp`, `spanning-tree`, `channel-group`, `vtp`, and `switchport mode dynamic` lines when the router/switch and interfaces are named. It does not create redundant links, validate STP state, prove BGP convergence, or make these capabilities donor-backed/generate-ready.
|
|
490
|
+
|
|
491
|
+
The IPv4 routing/management proof is IOS text only. It can append explicit `router ospf`, `router eigrp`, `router rip`, `ip route`, `ip helper-address`, `ip nat`, `ip ssh`, `ntp server`, and `logging host` lines when the router and interfaces are named. It does not synthesize routing designs, NAT pools, ACL policy, or convergence tests.
|
|
492
|
+
|
|
493
|
+
The L2 security/QoS proof is explicit-command only. It can append IOS-style dot1x and QoS lines when the switch, interface, class-map, policy-map, direction, and optional RADIUS target are explicit. It does not create a full NAC design, supplicant profiles, RADIUS users, or broad QoS policy from intent alone.
|
|
494
|
+
|
|
495
|
+
The security-edge deepening proof is router IOS only. It can append CBAC and ZFW line-based configuration for explicit targets. It does not mutate ASA GUI/internal state, clientless VPN, ASA service-policy, or broad security topology generation.
|
|
496
|
+
|
|
497
|
+
Generate-ready pilot design is intentionally separate from implementation:
|
|
498
|
+
|
|
499
|
+
- [docs/generate-ready-pilot-design.md](docs/generate-ready-pilot-design.md)
|
|
500
|
+
|
|
501
|
+
That document exists to define the first possible acceptance-backed `generate_ready` pilot without opening it in the current batch.
|
|
365
502
|
|
|
366
503
|
The advanced wireless proof is narrower again. It promotes only explicit WEP and WPA Enterprise/RADIUS edit semantics while keeping WLC, Meraki, cellular, Bluetooth, beamforming, and guest Wi-Fi in report-only atlas mode.
|
|
367
504
|
|
|
505
|
+
The industrial programming proof is explicit-file-edit only. It can replace an existing Real HTTP or Real WebSocket script file when the device, app, and file names are quoted and uniquely resolved. It does not create apps, files, MQTT brokers, Profinet/PTP/L2NAT workflows, or broad Industrial IoT topologies.
|
|
506
|
+
|
|
368
507
|
What the proof now tries to surface explicitly:
|
|
369
508
|
|
|
370
509
|
- a real donor exists
|
|
@@ -403,16 +542,16 @@ See also:
|
|
|
403
542
|
|
|
404
543
|
## Release and Launch State
|
|
405
544
|
|
|
406
|
-
The npm package
|
|
545
|
+
The npm package line is advancing to `packet-tracer-skill@0.2.3`. This release is a capability proof and readiness release, not a broad generate-ready release. The GitHub README, npm README, changelog, release notes, proof docs, and feature atlas should all say the same thing: the skill can recognize more Packet Tracer features, edit more explicit IOS/script surfaces, and report donor-backed readiness for more narrow paths, while still refusing broad unsupported generation.
|
|
407
546
|
|
|
408
|
-
So the current state is no longer
|
|
547
|
+
So the current state is no longer "preparing an experiment." The package line is public and the `0.2.3` release freezes a real capability batch. The remaining launch ops are about making the public surface operationally complete:
|
|
409
548
|
|
|
410
549
|
- GitHub release object should match the published npm state
|
|
411
550
|
- About/Topics should match the README and launch wording
|
|
412
551
|
- Discussions should exist as the feedback intake surface
|
|
413
552
|
- donor proof should exist as the first post-launch technical evidence layer
|
|
414
553
|
|
|
415
|
-
That is the difference between
|
|
554
|
+
That is the difference between "published" and "productized." The release can be installed from npm, but GitHub release notes, About/Topics, Discussions, and follow-up proof artifacts are what make it operationally coherent.
|
|
416
555
|
|
|
417
556
|
Recommended local validation before release:
|
|
418
557
|
|
|
@@ -433,25 +572,56 @@ Launch ops references:
|
|
|
433
572
|
- [docs/github-launch-ops-0.2.2.md](docs/github-launch-ops-0.2.2.md)
|
|
434
573
|
- [docs/post-launch-follow-up.md](docs/post-launch-follow-up.md)
|
|
435
574
|
|
|
436
|
-
## Azerbaijani Summary
|
|
437
|
-
|
|
438
|
-
Bu repo
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
- `--
|
|
445
|
-
- `--
|
|
446
|
-
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
-
|
|
451
|
-
|
|
452
|
-
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
575
|
+
## Azerbaijani Summary
|
|
576
|
+
|
|
577
|
+
Bu repo Cisco Packet Tracer 9.x `.pkt` faylları üçün təbii dilə əsaslanan planlama, analiz, edit, parity hesabatı və donor-backed workflow yaradır. Məqsəd sadəcə promptdan topologiya şəkli çıxarmaq deyil. Məqsəd Packet Tracer-in real fayl formatına uyğun, açılan, yoxlanıla bilən və səhv olanda səbəbini izah edən daha etibarlı skill təqdim etməkdir.
|
|
578
|
+
|
|
579
|
+
Skill promptu əvvəl scenario family və capability-lərə ayırır, sonra həmin tələbi feature atlas, curated donor registry, runtime doctor, parity report və proof docs ilə yoxlayır. Uyğun donor, runtime bridge, deterministic target və ya acceptance sübutu zəifdirsə, sistem final `.pkt` yaratmaq əvəzinə səbəbli refusal verir. Bu davranış qəsdəndir: faylı korlamaqdansa, nə çatışmadığını və növbəti ən doğru addımı göstərmək daha təhlükəsizdir.
|
|
580
|
+
|
|
581
|
+
Əsas public səthlər:
|
|
582
|
+
|
|
583
|
+
- `--explain-plan`: promptun hansı scenario family və capability-lərə çevrildiyini, hansı donor və readiness qərarlarının verildiyini göstərir.
|
|
584
|
+
- `--compare-scenarios`: bir neçə promptu eyni matrix üzərində müqayisə edir və hansı ailənin report-supported, edit-proven, donor-limited və ya unsupported olduğunu göstərir.
|
|
585
|
+
- `--parity-report`: tələb olunan capability-lərin inventory, edit, donor-backed readiness, generate və acceptance səviyyəsində vəziyyətini izah edir.
|
|
586
|
+
- `--feature-gap-report`: Packet Tracer 9.0-da mövcud olub skill-də hələ tam məhsullaşmamış sahələri atlas/backlog kimi göstərir.
|
|
587
|
+
- `--local-sample-audit-root`: istifadəçinin lokal `.pkt/.pka` nümunə qovluğunu audit edir, decode nəticələrini və capability evidence-ni çıxarır, amma raw faylları repo-ya və npm paketinə daxil etmir.
|
|
588
|
+
- `--doctor`: real `.pkt` runtime üçün Packet Tracer install, donor path, Twofish bridge və blocked/ready operations vəziyyətini yoxlayır.
|
|
589
|
+
- examples gallery və proof docs: screenshot, inventory manifest, acceptance excerpt və donor proof ilə public iddiaları yoxlanıla bilən artefaktlara bağlayır.
|
|
590
|
+
|
|
591
|
+
`0.2.3` release-in əsas dəyəri budur: skill Packet Tracer feature-lərini daha geniş tanıyır, daha çox explicit IOS/script edit path-i roundtrip proof ilə qoruyur və daha çox narrow path üçün donor-backed readiness göstərə bilir. Amma bu release hələ universal generate release deyil. `generate_ready=0` açıq saxlanılır, çünki geniş synthetic generation yalnız single-donor, deterministic inventory və acceptance JSON sübutu ilə açılmalıdır.
|
|
592
|
+
|
|
593
|
+
Hazırda ən güclü sahələr:
|
|
594
|
+
|
|
595
|
+
- campus və service-heavy lab planning, parity və reporting
|
|
596
|
+
- donor-backed Home IoT constrained edits
|
|
597
|
+
- WAN/security edge report və donor-backed readiness semantics
|
|
598
|
+
- WAN/security edge üçün GRE, PPP, IPSec transform-set, VPN crypto-map, router CBAC və ZFW explicit edit semantics
|
|
599
|
+
- IPv6/routing üçün OSPFv3, EIGRP IPv6, RIPng və HSRP donor-backed-ready subset
|
|
600
|
+
- IPv4 routing/NAT/IOS management üçün OSPFv2, EIGRP IPv4, RIPv2, static/default route, DHCP relay, NAT/PAT, SSH, NTP və syslog explicit edit-proven subset
|
|
601
|
+
- L2 security/monitoring üçün DHCP snooping, DAI, dot1x, QoS, SNMP, NetFlow və SPAN kimi explicit edit/report path-lər
|
|
602
|
+
- BGP və L2 resiliency üçün STP/RSTP, EtherChannel/LACP/PAgP, VTP və DTP explicit IOS edit semantics
|
|
603
|
+
- advanced wireless üçün WEP və WPA Enterprise/RADIUS explicit edit semantics
|
|
604
|
+
- automation/controller və industrial programming üçün Python, JavaScript, TCP/UDP, Real HTTP və Real WebSocket existing script-file explicit edits
|
|
605
|
+
- voice/collaboration üçün IOS telephony-service, ephone-dn/ephone və dial-peer voice explicit edit semantics
|
|
606
|
+
|
|
607
|
+
Hələ konservativ saxlanan sahələr:
|
|
608
|
+
|
|
609
|
+
- broad synthetic generate bütün Packet Tracer feature-ləri üçün açıq deyil
|
|
610
|
+
- BGP/STP/EtherChannel/VTP/DTP üçün link/topology synthesis və protocol convergence iddiası edilmir
|
|
611
|
+
- WLC, Meraki, cellular, Bluetooth, beamforming və guest Wi-Fi əsasən report-only qalır
|
|
612
|
+
- Linksys voice, Network Controller GUI, Blockly visual graph, VM/IOx və physical/media feature-lər atlasda görünür, amma edit/generate iddiası almır
|
|
613
|
+
- industrial MQTT, Profinet, PTP, L2NAT, CyberObserver və industrial firewall report-only qalır
|
|
614
|
+
- repo-local self-contained runtime readiness iddia edilmir; external bridge-assisted validation ayrıca göstərilir
|
|
615
|
+
- lokal `pkt_examples` və remote GitHub sample importları evidence source-dur, public curated truth və ya npm package content deyil
|
|
616
|
+
|
|
617
|
+
Hazırkı release prioriteti:
|
|
618
|
+
|
|
619
|
+
- `0.2.3` capability release-i dondurmaq və npm/GitHub ilə hizalamaq
|
|
620
|
+
- README, npm package, changelog, release notes və proof docs arasında terminologiya drift-ni bağlamaq
|
|
621
|
+
- scenario truth source, donor registry və runtime doctor contract consistency-ni qorumaq
|
|
622
|
+
- feature atlas üzərindən Packet Tracer-də qalan bütün boşluqları görünən backlog kimi saxlamaq
|
|
623
|
+
- yeni capability-ləri yalnız inventory proof, edit roundtrip proof, deterministic target resolution və donor-backed acceptance olduqda yüksəltmək
|
|
624
|
+
|
|
625
|
+
## License
|
|
456
626
|
|
|
457
|
-
This project is licensed under the MIT License.
|
|
627
|
+
This project is licensed under the MIT License.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Automation Controller Proof
|
|
2
|
+
|
|
3
|
+
This proof covers the narrow automation/controller wave for Packet Tracer programming surfaces. It is explicit script-file edit proof, not Network Controller GUI synthesis or broad automation topology generation.
|
|
4
|
+
|
|
5
|
+
## What This Proves
|
|
6
|
+
|
|
7
|
+
- Inventory can report existing Python, JavaScript, Blockly, and TCP/UDP app files without dumping full source code.
|
|
8
|
+
- Existing Python and JavaScript script files can be replaced when the prompt quotes the device name, app name, and file name.
|
|
9
|
+
- TCP/UDP test app JavaScript files can be edited through the same deterministic existing-file path.
|
|
10
|
+
- `python_programming`, `javascript_programming`, and `tcp_udp_app` can be treated as `edit_proven` for explicit script-file edits.
|
|
11
|
+
- `python_programming`, `javascript_programming`, and `tcp_udp_app` are `donor_backed_ready` for explicit existing-file edits because the proof gate has sample, decode, parser, and editor roundtrip evidence.
|
|
12
|
+
|
|
13
|
+
## What This Does Not Prove
|
|
14
|
+
|
|
15
|
+
- It does not create Network Controller projects, apps, or files.
|
|
16
|
+
- It does not mutate Blockly visual graphs beyond inventory/report truth.
|
|
17
|
+
- It does not create or run VM/IOx workloads.
|
|
18
|
+
- It does not synthesize controller policies, REST workflows, or TCP/UDP applications from a broad prompt.
|
|
19
|
+
- It does not make any automation/controller feature `generate_ready`.
|
|
20
|
+
|
|
21
|
+
## Explicit Edit Shape
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
set "python" script app "New Project (Python)" file "main.py" content "print(\"ok\")"
|
|
25
|
+
set "javascript" script app "New Project (JavaScript)" file "main.js" content "console.log(\"ok\")"
|
|
26
|
+
set "PC0" script app "tcpServer" file "tcpServer.js" content "console.log(\"tcp\")"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The editor refuses ambiguous or missing device/app/file targets. It replaces only existing file content and does not guess app names or create new programming surfaces.
|
|
30
|
+
|
|
31
|
+
## Product Contract
|
|
32
|
+
|
|
33
|
+
- `python_programming`, `javascript_programming`, and `tcp_udp_app` can report `edit_supported=true` and `donor_backed_ready=true` only for explicit existing-file edit commands.
|
|
34
|
+
- `network_controller`, `blockly_programming`, and `vm_iox` remain report-only.
|
|
35
|
+
- All automation/controller features keep `generate_supported=false` until separate donor-backed acceptance evidence exists.
|
|
@@ -59,6 +59,17 @@ Those are related, but they are not the same claim.
|
|
|
59
59
|
- registry-backed metadata overrides inferred metadata where the registry is more explicit
|
|
60
60
|
- validation can still demote a registry entry if the actual donor is blocked or incompatible
|
|
61
61
|
|
|
62
|
+
## Remote Sample Promotion Rules
|
|
63
|
+
|
|
64
|
+
GitHub sample ingestion is a local developer workflow, not a direct registry promotion path.
|
|
65
|
+
|
|
66
|
+
- remote `.pkt` and `.pka` files are imported only into `output/remote-import-cache`
|
|
67
|
+
- unknown, missing, or non-permissive license metadata stays `reference_only`
|
|
68
|
+
- permissive-license metadata can only create a `validated_curated` candidate after decode and inventory validation
|
|
69
|
+
- decode-fail samples can be recorded in `remote-sample-audit.json`, but they cannot create donor eligibility
|
|
70
|
+
- no remote sample becomes `acceptance_verified_curated` without checked acceptance fixtures and proof notes
|
|
71
|
+
- raw remote `.pkt` files are not committed and are not packed into npm artifacts
|
|
72
|
+
|
|
62
73
|
## Evidence Sources
|
|
63
74
|
|
|
64
75
|
Selected donor summaries distinguish:
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Generate-Ready Pilot Design
|
|
2
|
+
|
|
3
|
+
This is a design artifact only. It does not enable `generate_ready`.
|
|
4
|
+
|
|
5
|
+
## Candidate
|
|
6
|
+
|
|
7
|
+
The first safe pilot should use a narrow campus or service-heavy flow that already has fixture and donor evidence. The preferred pilot is `campus_core_complex` with a single `campus/core` donor class.
|
|
8
|
+
|
|
9
|
+
## Required Gate
|
|
10
|
+
|
|
11
|
+
The pilot can only move to implementation when all of these are true:
|
|
12
|
+
|
|
13
|
+
- exactly one scenario family is in scope
|
|
14
|
+
- exactly one donor class is allowed
|
|
15
|
+
- exactly one fixture name is used as the regression truth source
|
|
16
|
+
- target inventory is deterministic
|
|
17
|
+
- final `.pkt` apply remains `single-donor`
|
|
18
|
+
- acceptance JSON proves openability, inventory expectations, parity expectations, and decision status
|
|
19
|
+
|
|
20
|
+
## Explicit Non-Goals
|
|
21
|
+
|
|
22
|
+
- no L2/QoS generate-ready pilot
|
|
23
|
+
- no ASA/security generate-ready pilot
|
|
24
|
+
- no WLC/controller generate-ready pilot
|
|
25
|
+
- no broad topology synthesis
|
|
26
|
+
- no fallback guessed output when donor selection or acceptance is weak
|
|
27
|
+
|
|
28
|
+
## Next Step
|
|
29
|
+
|
|
30
|
+
Before implementation, add a short acceptance fixture proposal that names the donor path, expected inventory excerpt, expected parity excerpt, and the refusal condition when that donor is absent.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Industrial Programming Proof
|
|
2
|
+
|
|
3
|
+
This proof covers the narrow Packet Tracer programming surface promoted after the `0.2.2` baseline. It is intentionally donor-backed edit readiness, not generate-first support.
|
|
4
|
+
|
|
5
|
+
## What This Proves
|
|
6
|
+
|
|
7
|
+
- Real HTTP and Real WebSocket samples expose stable existing script files in Packet Tracer XML.
|
|
8
|
+
- Inventory can report programming apps without dumping full source code.
|
|
9
|
+
- Explicit quoted commands can replace an existing script file when device, app, and file names are unique.
|
|
10
|
+
- Real HTTP and Real WebSocket can be treated as `edit_proven` for deterministic script-file edits.
|
|
11
|
+
- Real HTTP and Real WebSocket are the first `donor_backed_ready` atlas entries because they pass a validated proof gate: sample-backed inventory, decode evidence, explicit target resolution, and editor roundtrip proof.
|
|
12
|
+
|
|
13
|
+
## What This Does Not Prove
|
|
14
|
+
|
|
15
|
+
- It does not claim broad Industrial IoT topology generation.
|
|
16
|
+
- It does not create new apps, new files, MQTT brokers, WebSocket servers, or Real HTTP services.
|
|
17
|
+
- It does not claim MQTT protocol mutation, Profinet, PTP, L2NAT, CyberObserver, or industrial firewall edit support.
|
|
18
|
+
- It does not make any industrial programming feature `generate_ready`.
|
|
19
|
+
- It does not create a new app or file when a donor lacks the named script target.
|
|
20
|
+
|
|
21
|
+
## Explicit Edit Command Shape
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
set "Py: real http server 2" script app "New Project (Python)" file "main.py" content "from realhttp import *\nprint(\"ok\")"
|
|
25
|
+
set "WebSockets Client" script app "ws client (Python)" file "main.py" content "from realhttp import *\nclient = RealWSClient()\nprint(\"ok\")"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The command is quoted on purpose. Packet Tracer app and device names often contain spaces, punctuation, and parentheses. Unquoted script mutation is not supported.
|
|
29
|
+
|
|
30
|
+
## Donor-Backed Readiness Boundary
|
|
31
|
+
|
|
32
|
+
`donor_backed_ready` means the skill can safely apply an explicit existing-file script edit when the donor already contains the named device, app, and file. It does not mean broad prompt generation is ready.
|
|
33
|
+
|
|
34
|
+
Readiness requires all of these to be true:
|
|
35
|
+
|
|
36
|
+
- the feature is `real_http` or `real_websocket`
|
|
37
|
+
- the command quotes a device name, app name, existing file name, and replacement content
|
|
38
|
+
- inventory resolves exactly one matching target
|
|
39
|
+
- the editor roundtrip test proves the file content can be replaced and decoded again
|
|
40
|
+
- no new app, new file, MQTT broker, HTTP service, or WebSocket service is synthesized
|
|
41
|
+
|
|
42
|
+
## Public Contract
|
|
43
|
+
|
|
44
|
+
- `real_http`, `real_websocket`, `python_programming`, and `javascript_programming` can report `edit_supported=true` only for explicit existing-file edits.
|
|
45
|
+
- `real_http` and `real_websocket` can report `donor_backed_ready=true` for explicit existing-file edits.
|
|
46
|
+
- `generate_supported=false` remains the expected result.
|
|
47
|
+
- `generate_mismatch_reason=supported_in_edit_only` is the intended parity wording.
|
|
48
|
+
- `mqtt`, `visual_scripting`, `ptp`, `profinet`, `l2nat`, `cyberobserver`, and `industrial_firewall` remain report-only until separate roundtrip proof exists.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# IPv4 Routing and IOS Management Proof
|
|
2
|
+
|
|
3
|
+
This proof wave uses the local user-supplied `pkt_examples` corpus as evidence input, not as public package content. The corpus contains many decodeable Packet Tracer labs with IPv4 routing, NAT/PAT, SSH, NTP, syslog, DHCP relay, and classic CCNA management patterns.
|
|
4
|
+
|
|
5
|
+
## What Is Edit-Proven
|
|
6
|
+
|
|
7
|
+
The supported subset is explicit IOS `RUNNINGCONFIG` mutation only:
|
|
8
|
+
|
|
9
|
+
- OSPFv2 via `router ospf <process>` with `network <network> <wildcard> area <area>`
|
|
10
|
+
- `router eigrp <asn>` with IPv4 `network` and optional `no auto-summary`
|
|
11
|
+
- `router rip` with `version 2`, IPv4 `network`, and optional `no auto-summary`
|
|
12
|
+
- `ip route <network> <mask> <next-hop>` including default route
|
|
13
|
+
- interface-level `ip helper-address`
|
|
14
|
+
- interface-level `ip nat inside` and `ip nat outside`
|
|
15
|
+
- `ip nat inside source static <inside-local> <inside-global>`
|
|
16
|
+
- PAT overload with `ip nat inside source list <acl> interface <interface> overload`
|
|
17
|
+
- IOS SSH setup with domain, username/password, RSA modulus, and `ip ssh version 2`
|
|
18
|
+
- IOS `ntp server` and `logging host`
|
|
19
|
+
|
|
20
|
+
## What This Proves
|
|
21
|
+
|
|
22
|
+
- The parser can classify IPv4 routing and management prompts as `ipv4_routing_management`.
|
|
23
|
+
- Explicit commands produce deterministic router operations.
|
|
24
|
+
- Existing IOS text config surfaces can roundtrip these command shapes.
|
|
25
|
+
- Parity can show these capabilities as `edit_supported=true`, `generate_supported=false`, and `generate_mismatch_reason=supported_in_edit_only`.
|
|
26
|
+
- Local sample audit can summarize user-supplied `.pkt/.pka` evidence without committing raw Packet Tracer files.
|
|
27
|
+
|
|
28
|
+
## What This Does Not Prove
|
|
29
|
+
|
|
30
|
+
- It does not make any IPv4 routing, NAT, or IOS management capability `generate_ready`.
|
|
31
|
+
- It does not synthesize topology, links, ACL objects, NAT pools, route convergence, or lab scoring.
|
|
32
|
+
- It does not promote local `pkt_examples` files into curated public donors.
|
|
33
|
+
- It does not mutate GUI/internal Packet Tracer state.
|
|
34
|
+
|
|
35
|
+
## Safe Next Step
|
|
36
|
+
|
|
37
|
+
The next promotion step is donor-backed readiness for a narrow single-donor IPv4 routing fixture, only after selected-donor evidence, deterministic targets, and acceptance JSON prove the resulting `.pkt` opens and matches expected inventory/parity.
|