packet-tracer-skill 0.1.0 → 0.2.0

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.
Files changed (72) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/CITATION.cff +15 -0
  3. package/CODE_OF_CONDUCT.md +26 -0
  4. package/CONTRIBUTING.md +120 -0
  5. package/README.md +164 -543
  6. package/SECURITY.md +36 -0
  7. package/SKILL.md +46 -5
  8. package/bin/packet-tracer-skill.js +503 -7
  9. package/docs/curated-donor-registry.md +51 -0
  10. package/docs/discovery-keywords.md +55 -0
  11. package/docs/github-discussions-setup.md +34 -0
  12. package/docs/github-metadata.md +33 -0
  13. package/docs/hero-demo-plan.md +42 -0
  14. package/docs/publish-preview-roadmap.md +31 -0
  15. package/docs/release-checklist.md +60 -0
  16. package/docs/release-notes-0.2.0.md +25 -0
  17. package/docs/runtime-truth.md +49 -0
  18. package/docs/screenshots/.gitkeep +1 -0
  19. package/docs/screenshots/packet-tracer-topology-cropped.png +0 -0
  20. package/examples/README.md +72 -0
  21. package/examples/complex_campus_master_edit_v4.inventory.json +94 -0
  22. package/examples/gallery.md +39 -0
  23. package/examples/home_iot_cli_edit_v1.inventory.json +58 -0
  24. package/examples/index.json +127 -0
  25. package/examples/screenshots/complex_campus_master_edit_v4.png +0 -0
  26. package/examples/screenshots/home_iot_cli_edit_v1.png +0 -0
  27. package/examples/screenshots/service_heavy_cli_edit_v1.png +0 -0
  28. package/examples/screenshots/service_heavy_cli_edit_v1_dhcp.png +0 -0
  29. package/examples/screenshots/service_heavy_cli_edit_v1_dns.png +0 -0
  30. package/examples/screenshots/service_heavy_cli_edit_v1_ftp.png +0 -0
  31. package/examples/service_heavy_cli_edit_v1.inventory.json +51 -0
  32. package/package.json +41 -4
  33. package/references/curated-donor-registry.json +71 -0
  34. package/references/scenario-fixture-corpus.json +53 -0
  35. package/scripts/__pycache__/build_examples_index.cpython-314.pyc +0 -0
  36. package/scripts/__pycache__/build_sample_catalog.cpython-314.pyc +0 -0
  37. package/scripts/__pycache__/coverage_matrix.cpython-314.pyc +0 -0
  38. package/scripts/__pycache__/donor_diagnostics.cpython-314.pyc +0 -0
  39. package/scripts/__pycache__/generate_pkt.cpython-314.pyc +0 -0
  40. package/scripts/__pycache__/install_skill.cpython-314.pyc +0 -0
  41. package/scripts/__pycache__/intent_parser.cpython-314.pyc +0 -0
  42. package/scripts/__pycache__/packet_tracer_env.cpython-314.pyc +0 -0
  43. package/scripts/__pycache__/pkt_builder.cpython-314.pyc +0 -0
  44. package/scripts/__pycache__/pkt_codec.cpython-314.pyc +0 -0
  45. package/scripts/__pycache__/pkt_editor.cpython-314.pyc +0 -0
  46. package/scripts/__pycache__/pkt_transformer.cpython-314.pyc +0 -0
  47. package/scripts/__pycache__/remote_search.cpython-314.pyc +0 -0
  48. package/scripts/__pycache__/runtime_doctor.cpython-314.pyc +0 -0
  49. package/scripts/__pycache__/sample_catalog.cpython-314.pyc +0 -0
  50. package/scripts/__pycache__/sample_selector.cpython-314.pyc +0 -0
  51. package/scripts/__pycache__/twofish_diagnostics.cpython-314.pyc +0 -0
  52. package/scripts/__pycache__/twofish_runtime.cpython-314.pyc +0 -0
  53. package/scripts/__pycache__/workspace_repair.cpython-314.pyc +0 -0
  54. package/scripts/build_examples_index.py +314 -0
  55. package/scripts/coverage_matrix.py +783 -0
  56. package/scripts/donor_diagnostics.py +6 -3
  57. package/scripts/generate_pkt.py +2605 -98
  58. package/scripts/intent_parser.py +173 -18
  59. package/scripts/packet_tracer_env.py +127 -14
  60. package/scripts/pkt_editor.py +312 -12
  61. package/scripts/pkt_transformer.py +195 -9
  62. package/scripts/remote_search.py +169 -0
  63. package/scripts/runtime_doctor.py +286 -0
  64. package/scripts/sample_catalog.py +643 -38
  65. package/scripts/sample_selector.py +251 -5
  66. package/scripts/setup.ps1 +2 -1
  67. package/scripts/twofish_diagnostics.py +20 -23
  68. package/scripts/twofish_runtime.py +101 -0
  69. package/scripts/vendor/README.md +13 -1
  70. package/scripts/vendor/__pycache__/twofish.cpython-314.pyc +0 -0
  71. package/scripts/vendor/twofish.py +11 -9
  72. package/scripts/workspace_repair.py +69 -2
@@ -0,0 +1,55 @@
1
+ # Discovery Keywords
2
+
3
+ ## Must-Keep Clusters
4
+
5
+ ### Packet Tracer Core
6
+
7
+ - `packet-tracer`
8
+ - `pkt`
9
+ - `cisco`
10
+ - `packet-tracer-generator`
11
+ - `packet-tracer-editor`
12
+ - `network-topology-generator`
13
+
14
+ ### Networking Labs
15
+
16
+ - `vlan`
17
+ - `dhcp`
18
+ - `dns`
19
+ - `acl`
20
+ - `nat`
21
+ - `router-on-a-stick`
22
+ - `telnet`
23
+ - `wireless`
24
+ - `ccna`
25
+ - `ccnp`
26
+
27
+ ### AI / Natural Language
28
+
29
+ - `ai-skill`
30
+ - `llm-skill`
31
+ - `natural-language`
32
+ - `prompt-to-topology`
33
+ - `network-automation`
34
+ - `network-lab-generator`
35
+
36
+ ### Host Ecosystem
37
+
38
+ - `codex`
39
+ - `cursor`
40
+ - `claude`
41
+ - `gemini`
42
+ - `github-copilot-skill`
43
+ - `npx`
44
+
45
+ ## Candidate-To-Prune-Later
46
+
47
+ Do not remove these yet, but review them after real publish and search feedback:
48
+
49
+ - broad generic terms that add little host or networking intent
50
+ - duplicate phrases that do not add new discovery surface
51
+
52
+ Current policy:
53
+
54
+ - keep the wider keyword set through publish-preview
55
+ - use README headings, GitHub Topics, example titles, and article titles to reinforce the same vocabulary
@@ -0,0 +1,34 @@
1
+ # GitHub Discussions Setup
2
+
3
+ Recommended categories:
4
+
5
+ - `Show and Tell`
6
+ - `Q&A`
7
+ - `Donor Requests`
8
+ - `Capability Roadmap`
9
+
10
+ Recommended purpose:
11
+
12
+ - `Show and Tell`
13
+ Real example screenshots, labs, and outcomes.
14
+ - `Q&A`
15
+ Usage help, runtime doctor interpretation, install guidance.
16
+ - `Donor Requests`
17
+ Requests for new donor families or curated donor promotion.
18
+ - `Capability Roadmap`
19
+ Discussion of scenario families, parity gaps, and future coverage.
20
+
21
+ Recommended repository About topics:
22
+
23
+ - `packet-tracer`
24
+ - `cisco`
25
+ - `networking`
26
+ - `network-lab`
27
+ - `natural-language`
28
+ - `ai-skill`
29
+ - `codex`
30
+ - `cursor`
31
+ - `claude`
32
+ - `gemini`
33
+
34
+ Keep repository Topics, README headings, and npm keywords aligned to the same vocabulary clusters.
@@ -0,0 +1,33 @@
1
+ # GitHub Metadata
2
+
3
+ ## Final About Text
4
+
5
+ Donor-backed Cisco Packet Tracer 9.x skill for natural-language planning, safe-open `.pkt` generation, editing, parity reporting, and runtime diagnostics.
6
+
7
+ ## Final Topics
8
+
9
+ - `packet-tracer`
10
+ - `cisco`
11
+ - `networking`
12
+ - `network-lab`
13
+ - `natural-language`
14
+ - `ai-skill`
15
+ - `codex`
16
+ - `cursor`
17
+ - `claude`
18
+ - `gemini`
19
+
20
+ ## Final Pinned Visual
21
+
22
+ Use the complex campus Packet Tracer screenshot as the first public visual until a dedicated hero demo GIF is ready.
23
+
24
+ Pinned screenshot:
25
+
26
+ - `examples/screenshots/complex_campus_master_edit_v4.png`
27
+
28
+ ## Public Message Guardrails
29
+
30
+ - say `donor-backed`, `open-first`, `scenario-aware`, and `Windows-first runtime`
31
+ - say `validated with external bridge override` when referring to strict runtime validation
32
+ - do not say the repo is self-contained runtime-ready unless doctor semantics change
33
+ - keep README, release notes, and GitHub About text aligned with the same wording
@@ -0,0 +1,42 @@
1
+ # Hero Demo Plan
2
+
3
+ ## Goal
4
+
5
+ Prepare one conservative hero demo flow for the `0.2.0` public preview surface without implying self-contained runtime readiness.
6
+
7
+ ## Prompt
8
+
9
+ Use this prompt:
10
+
11
+ ```text
12
+ 6 department campus with router-on-a-stick, VLAN, DHCP, management VLAN, Telnet, ACL
13
+ ```
14
+
15
+ ## CLI Flow
16
+
17
+ Run in this order:
18
+
19
+ ```powershell
20
+ python .\scripts\generate_pkt.py --explain-plan "6 department campus with router-on-a-stick, VLAN, DHCP, management VLAN, Telnet, ACL"
21
+ python .\scripts\generate_pkt.py --parity-report "6 department campus with router-on-a-stick, VLAN, DHCP, management VLAN, Telnet, ACL"
22
+ python .\scripts\runtime_doctor.py
23
+ ```
24
+
25
+ ## Visual
26
+
27
+ - pinned image: `examples/screenshots/complex_campus_master_edit_v4.png`
28
+ - reuse the complex campus topology screenshot as the hero visual until a dedicated GIF is produced
29
+
30
+ ## Claims To Make
31
+
32
+ - donor-backed
33
+ - open-first
34
+ - scenario-aware
35
+ - Windows-first runtime
36
+ - validated with external bridge override
37
+
38
+ ## Claims Not To Make
39
+
40
+ - do not say the repo is self-contained runtime-ready
41
+ - do not claim full synthetic generate for WAN/security coverage
42
+ - do not imply unsupported or acceptance-gated mutations are generated anyway
@@ -0,0 +1,31 @@
1
+ # Publish-Preview Roadmap
2
+
3
+ ## Step A: Internal Freeze
4
+
5
+ - completed
6
+ - release surface is commit-ready
7
+ - checklist dry run passes
8
+ - changelog reflects the current batch
9
+ - docs and runtime wording match actual behavior
10
+ - template fallback assets are checked in and release-surface tests protect them
11
+
12
+ ## Step B: Public `0.2.x` Publish-Preview
13
+
14
+ - `package.json` is versioned at `0.2.0`
15
+ - release notes draft is ready: `docs/release-notes-0.2.0.md`
16
+ - hero visual is locked to `examples/screenshots/complex_campus_master_edit_v4.png`
17
+ - hero demo execution plan is ready: `docs/hero-demo-plan.md`
18
+ - GitHub About/Topics text is finalized in `docs/github-metadata.md`
19
+ - npm publish checklist is complete and conservative runtime wording is preserved
20
+ - final publish batch should only do:
21
+ - npm publish
22
+ - GitHub release creation
23
+ - About/Topics update in GitHub UI
24
+ - Discussions opening and release announcement
25
+
26
+ ## Step C: `1.0.0` Preparation
27
+
28
+ - at least one populated curated donor path is actively used in practice
29
+ - runtime messaging remains conservative and stable
30
+ - one richer example family or improved `wan_security_edge` reporting is added
31
+ - publish-preview feedback is folded back into docs and trust surface
@@ -0,0 +1,60 @@
1
+ # Release Checklist
2
+
3
+ Target release surface: `0.2.0` conservative public preview prep.
4
+
5
+ ## Product Contract
6
+
7
+ - `scenario_generate_decision`, `scenario_acceptance_summary`, `scenario_matrix_row`, `capability_parity`, and runtime doctor wording are internally consistent
8
+ - curated donor registry and scenario fixture corpus reflect current behavior
9
+ - README claims do not exceed tested behavior
10
+
11
+ ## Validation
12
+
13
+ Run:
14
+
15
+ ```powershell
16
+ python .\scripts\build_examples_index.py
17
+ python -m pytest tests -q
18
+ node --check .\bin\packet-tracer-skill.js
19
+ python .\scripts\generate_pkt.py --parity-report "campus with VLAN DHCP ACL"
20
+ python .\scripts\runtime_doctor.py
21
+ ```
22
+
23
+ ## Package Audit
24
+
25
+ - `package.json` description matches current product scope
26
+ - keyword clusters cover Packet Tracer, networking labs, AI/natural language, and host ecosystems
27
+ - `files` includes docs and runtime assets needed by consumers
28
+ - version bump matches semver intent
29
+
30
+ ## Public Artifacts
31
+
32
+ - raw `.pkt` binaries are not committed
33
+ - examples index and gallery were rebuilt
34
+ - screenshots are intentional and non-sensitive
35
+ - changelog entry is updated for `0.2.0`
36
+ - release notes draft exists: `docs/release-notes-0.2.0.md`
37
+ - hero demo plan exists: `docs/hero-demo-plan.md`
38
+ - hero visual is selected: `examples/screenshots/complex_campus_master_edit_v4.png`
39
+ - runtime truth docs match current `runtime_grade` and `bridge_resolution` semantics
40
+ - curated donor registry entries are reviewed for promotion status and provenance
41
+
42
+ ## GitHub Surface
43
+
44
+ - CI workflow is green
45
+ - issue templates are present
46
+ - contributing and security docs exist
47
+ - citation metadata exists
48
+ - About/Topics are ready to be updated in GitHub UI
49
+
50
+ ## Publish Gate
51
+
52
+ Only publish when:
53
+
54
+ - CI is green
55
+ - README renders cleanly
56
+ - `package.json` version is final for the publish-preview batch
57
+ - doctor wording matches current runtime reality
58
+ - no accidental local paths leaked into tracked files
59
+ - GitHub metadata doc is final and matches README wording
60
+ - hero visual and release notes are ready for direct reuse
@@ -0,0 +1,25 @@
1
+ # `packet-tracer-skill` `0.2.0` Release Notes Draft
2
+
3
+ ## Summary
4
+
5
+ `0.2.0` is a conservative public preview prep release for `packet-tracer-skill`. It stabilizes the public release surface around donor-backed planning, open-first generation rules, scenario-aware reporting, and Windows-first runtime truth.
6
+
7
+ ## Highlights
8
+
9
+ - donor-backed and scenario-aware Packet Tracer 9.x workflow
10
+ - explicit product surfaces: `--explain-plan`, `--compare-scenarios`, `--parity-report`, `--doctor`
11
+ - curated donor registry and scenario fixture corpus are checked-in truth sources
12
+ - known working scenario set examples are positioned as public proof artifacts
13
+ - release/readme/docs wording is aligned to runtime and donor reality
14
+
15
+ ## Runtime Notes
16
+
17
+ - real `.pkt` runtime remains Windows-first
18
+ - strict validation is currently performed with an external bridge override when repo-local bridge assets are not bundled
19
+ - public docs intentionally preserve the distinction between repo-local readiness and external bridge fallback
20
+
21
+ ## Public Preview Intent
22
+
23
+ - this release prepares the repo for npm publish and GitHub release
24
+ - it does not change the product contract to imply `1.0.0` stability
25
+ - publish should happen only after the short follow-up batch that applies the prepared metadata and release steps
@@ -0,0 +1,49 @@
1
+ # Runtime Truth
2
+
3
+ ## Why This Exists
4
+
5
+ This repo makes a strict distinction between:
6
+
7
+ - passing tests with an external bridge override
8
+ - being self-contained and repo-local runtime ready
9
+
10
+ That distinction is part of the public product contract.
11
+
12
+ ## Runtime Grades
13
+
14
+ - `ready`
15
+ Repo-local runtime pieces are available and the doctor sees a complete decode/edit/generate path.
16
+ - `partially_ready`
17
+ Some operations work, but strict `.pkt` generation is still blocked.
18
+ - `blocked`
19
+ Required donor, bridge, or Packet Tracer runtime pieces are missing.
20
+
21
+ ## Bridge Resolution
22
+
23
+ - `repo_local`
24
+ A repo-local vendor bridge is resolved.
25
+ - `external_env`
26
+ A bridge is only available through an external environment path.
27
+ - `missing`
28
+ No usable bridge is resolved.
29
+
30
+ ## Publish-Preview Policy
31
+
32
+ For `0.2.x` publish-preview:
33
+
34
+ - external bridge assisted testing is acceptable
35
+ - docs must say this explicitly
36
+ - README must not imply the repo is self-contained if it is not
37
+
38
+ For `1.0.0`:
39
+
40
+ - either repo-local readiness improves
41
+ - or the Windows-first external-bridge-assisted contract remains explicit and stable
42
+
43
+ ## Required Messaging
44
+
45
+ If tests pass only with an external bridge:
46
+
47
+ - do not say "runtime ready" without qualification
48
+ - do say "validated with external bridge override"
49
+ - do preserve the difference between repo-local readiness and external fallback
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,72 @@
1
+ ## Known Working Scenario Set
2
+
3
+ This repo keeps text-based example artifacts under `examples/` and treats them as a known working scenario set, not just a screenshot folder.
4
+
5
+ For the `0.2.0` launch-prep surface, the canonical public set is:
6
+
7
+ - `complex_campus_master_edit_v4`
8
+ - `home_iot_cli_edit_v1`
9
+ - `service_heavy_cli_edit_v1`
10
+
11
+ Hero visual:
12
+
13
+ - `screenshots/complex_campus_master_edit_v4.png`
14
+
15
+ Policy:
16
+ - generated `.pkt` and `.xml` files stay gitignored
17
+ - public examples should be sanitized JSON or markdown summaries
18
+ - if you want to publish a lab sample, prefer `--inventory --inventory-out` and commit the resulting JSON
19
+ - real Packet Tracer screenshots can be committed under `examples/screenshots/`
20
+ - examples may have one primary screenshot plus additional detail screenshots
21
+
22
+ Example command:
23
+
24
+ ```powershell
25
+ python .\scripts\generate_pkt.py --inventory .\output\complex_campus_master_edit_v4.pkt --inventory-capabilities --inventory-out .\examples\complex_campus_master_edit_v4.inventory.json
26
+ ```
27
+
28
+ Current curated example:
29
+ - `complex_campus_master_edit_v4.inventory.json`
30
+ Donor-backed complex campus edit showing management VLAN, Telnet, ACL, server services, and wireless updates without publishing the binary `.pkt` itself.
31
+ - `screenshots/complex_campus_master_edit_v4.png`
32
+ Visual snapshot of the same lab opened inside Cisco Packet Tracer.
33
+
34
+ Additional curated examples:
35
+ - `home_iot_cli_edit_v1.inventory.json`
36
+ Home gateway and IoT registration example focused on gateway-backed device onboarding.
37
+ - `screenshots/home_iot_cli_edit_v1.png`
38
+ Topology snapshot for the Home IoT example.
39
+ - `service_heavy_cli_edit_v1.inventory.json`
40
+ Service-heavy server example focused on DNS, DHCP, FTP, email, syslog, AAA, and related service metadata.
41
+ - `screenshots/service_heavy_cli_edit_v1.png`
42
+ Topology snapshot for the Service Heavy example.
43
+ - `screenshots/service_heavy_cli_edit_v1_*.png`
44
+ Additional service detail screenshots for DHCP, DNS, and FTP views.
45
+ - `index.json`
46
+ Lightweight gallery index for curated example artifacts.
47
+
48
+ Rebuild the gallery index:
49
+
50
+ ```powershell
51
+ python .\scripts\build_examples_index.py
52
+ ```
53
+
54
+ Generated outputs:
55
+ - `index.json`
56
+ Machine-readable curated example index.
57
+ - `gallery.md`
58
+ Human-readable markdown gallery generated from the same source, positioned as the known working scenario set.
59
+ - `previews/*.svg`
60
+ Generated fallback preview images for examples that do not yet have real Packet Tracer screenshots.
61
+
62
+ Gallery families:
63
+ - `campus`
64
+ VLAN, management, ACL, server services, and wireless edits.
65
+ - `home_iot`
66
+ Home gateway, IoT things, and registration-focused examples.
67
+ - `service_heavy`
68
+ Server-centric service labs with richer metadata.
69
+
70
+ Launch-prep references:
71
+ - `..\docs\hero-demo-plan.md`
72
+ - `..\docs\release-notes-0.2.0.md`
@@ -0,0 +1,94 @@
1
+ {
2
+ "example_name": "complex_campus_master_edit_v4",
3
+ "source_mode": "donor-backed edit",
4
+ "scenario_family": "campus",
5
+ "public_repo_policy": {
6
+ "commit_pkt_binary": false,
7
+ "commit_inventory_json": true
8
+ },
9
+ "artifact_paths": {
10
+ "screenshot": "examples/screenshots/complex_campus_master_edit_v4.png",
11
+ "screenshots": [
12
+ "examples/screenshots/complex_campus_master_edit_v4.png"
13
+ ],
14
+ "inventory_json": "examples/complex_campus_master_edit_v4.inventory.json"
15
+ },
16
+ "topology_summary": {
17
+ "network_style": "campus",
18
+ "core_router": "Router0",
19
+ "switches_with_management": [
20
+ "Switch Management",
21
+ "Switch Emeliyyat",
22
+ "Switch IT",
23
+ "Switch Maliyye",
24
+ "Switch Muhendislik",
25
+ "Switch Security"
26
+ ],
27
+ "wireless_routers": [
28
+ "Wireless Router0",
29
+ "Wireless Router1",
30
+ "Wireless Router2",
31
+ "Wireless Router3",
32
+ "Wireless Router4"
33
+ ]
34
+ },
35
+ "management_summary": {
36
+ "management_vlan": 99,
37
+ "default_gateway": "192.168.99.1",
38
+ "telnet_enabled_switches": [
39
+ "Switch Management",
40
+ "Switch Emeliyyat",
41
+ "Switch IT",
42
+ "Switch Maliyye",
43
+ "Switch Muhendislik",
44
+ "Switch Security"
45
+ ],
46
+ "username": "admin"
47
+ },
48
+ "routing_security_summary": {
49
+ "acl_names": {
50
+ "Router0": [
51
+ "MGMT_ONLY"
52
+ ]
53
+ }
54
+ },
55
+ "server_service_summary": {
56
+ "Server0": {
57
+ "services": [
58
+ "dns_server",
59
+ "email_server",
60
+ "ftp_server",
61
+ "http_server",
62
+ "https_server",
63
+ "ntp_server",
64
+ "syslog_server",
65
+ "tftp_server"
66
+ ],
67
+ "email_domain": "campus.local"
68
+ },
69
+ "Server1": {
70
+ "services": [
71
+ "acs_server",
72
+ "email_server",
73
+ "ftp_server",
74
+ "http_server",
75
+ "https_server",
76
+ "ntp_server",
77
+ "syslog_server",
78
+ "tftp_server"
79
+ ],
80
+ "aaa_auth_port": "1812"
81
+ }
82
+ },
83
+ "wireless_summary": {
84
+ "Wireless Router0": "OPS_WIFI",
85
+ "Wireless Router1": "IT_WIFI",
86
+ "Wireless Router2": "FIN_WIFI",
87
+ "Wireless Router3": "ENG_WIFI",
88
+ "Wireless Router4": "SEC_WIFI"
89
+ },
90
+ "verification_status": {
91
+ "inventory_roundtrip_verified": true,
92
+ "full_pytest_passed": true
93
+ }
94
+ }
@@ -0,0 +1,39 @@
1
+ ## Known Working Scenario Set
2
+
3
+ These examples are public, text-first proof artifacts derived from donor-backed workflows and aligned with the scenario fixture corpus.
4
+
5
+ `0.2.0` canonical public set:
6
+
7
+ - `campus`
8
+ - `home_iot`
9
+ - `service_heavy`
10
+
11
+ Hero visual:
12
+
13
+ - [complex campus screenshot](screenshots/complex_campus_master_edit_v4.png)
14
+
15
+ | Title | Family | Capabilities | Image | Inventory |
16
+ | --- | --- | --- | --- | --- |
17
+ | Complex Campus | `campus` | management_vlan, telnet, acl, server_dns, server_email, server_aaa, wireless_mutation | [screenshot](screenshots/complex_campus_master_edit_v4.png) | [manifest](complex_campus_master_edit_v4.inventory.json) |
18
+ | | | Management VLAN, Telnet, ACL, DNS, email, AAA, and multi-SSID wireless campus edit. | | |
19
+ | | | `known_working_example | donor=donor-backed | capabilities=management_vlan, telnet, acl` | | |
20
+ | | | `campus_core_complex | known_working_example | family=campus` | | |
21
+ | | | `management_vlan=generate-ready, telnet=generate-ready, acl=generate-ready` | | |
22
+ | | | `decision=known_working_example | donor_origin=donor-backed` | | |
23
+ | | | `runtime=donor-backed example artifact` | | |
24
+ | Home IoT | `home_iot` | iot, iot_registration, wireless_ap | [screenshot](screenshots/home_iot_cli_edit_v1.png) | [manifest](home_iot_cli_edit_v1.inventory.json) |
25
+ | | | Home gateway and IoT device onboarding with gateway-backed registration state. | | |
26
+ | | | `known_working_example | donor=donor-backed | capabilities=iot, iot_registration, wireless_ap` | | |
27
+ | | | `home_iot_complex | known_working_example | family=home_iot` | | |
28
+ | | | `iot=generate-ready, iot_registration=generate-ready, wireless_ap=generate-ready` | | |
29
+ | | | `decision=known_working_example | donor_origin=donor-backed` | | |
30
+ | | | `runtime=donor-backed example artifact` | | |
31
+ | Service Heavy | `service_heavy` | server_dns, server_dhcp, server_ftp, server_email, server_syslog, server_aaa | [screenshot](screenshots/service_heavy_cli_edit_v1.png) | [manifest](service_heavy_cli_edit_v1.inventory.json) |
32
+ | | | Service-rich server lab with DNS, DHCP, FTP, email, syslog, AAA, and detailed service metadata. | | |
33
+ | | | `known_working_example | donor=donor-backed | capabilities=server_dns, server_dhcp, server_ftp` | | |
34
+ | | | `service_heavy_complex | known_working_example | family=service_heavy` | | |
35
+ | | | `server_dns=generate-ready, server_dhcp=generate-ready, server_ftp=generate-ready` | | |
36
+ | | | `decision=known_working_example | donor_origin=donor-backed` | | |
37
+ | | | `runtime=donor-backed example artifact` | | |
38
+ | | | extra visuals: [detail 1](screenshots/service_heavy_cli_edit_v1_dhcp.png); [detail 2](screenshots/service_heavy_cli_edit_v1_dns.png); [detail 3](screenshots/service_heavy_cli_edit_v1_ftp.png) | | |
39
+
@@ -0,0 +1,58 @@
1
+ {
2
+ "example_name": "home_iot_cli_edit_v1",
3
+ "source_mode": "donor-backed edit",
4
+ "scenario_family": "home_iot",
5
+ "public_repo_policy": {
6
+ "commit_pkt_binary": false,
7
+ "commit_inventory_json": true,
8
+ "commit_screenshot": false
9
+ },
10
+ "artifact_paths": {
11
+ "inventory_json": "examples/home_iot_cli_edit_v1.inventory.json",
12
+ "screenshot": "examples/screenshots/home_iot_cli_edit_v1.png",
13
+ "screenshots": [
14
+ "examples/screenshots/home_iot_cli_edit_v1.png"
15
+ ]
16
+ },
17
+ "topology_summary": {
18
+ "gateway": "Home Gateway0",
19
+ "iot_things": [
20
+ "door0",
21
+ "door1"
22
+ ]
23
+ },
24
+ "wireless_summary": {
25
+ "Home Gateway0": "HomeGateway",
26
+ "door0": "HomeGateway",
27
+ "door1": "HomeGateway"
28
+ },
29
+ "iot_summary": {
30
+ "Home Gateway0": {
31
+ "role": "gateway",
32
+ "type": "HomeGateway",
33
+ "http_enabled": true
34
+ },
35
+ "door0": {
36
+ "role": "thing",
37
+ "type": "MCUComponent",
38
+ "client_mode": "LAN_SERVER",
39
+ "server_address": "192.168.25.1",
40
+ "username": "admin"
41
+ },
42
+ "door1": {
43
+ "role": "thing",
44
+ "type": "MCUComponent",
45
+ "client_mode": "LAN_SERVER"
46
+ }
47
+ },
48
+ "service_summary": {
49
+ "Home Gateway0": [
50
+ "http_server",
51
+ "dhcp_server"
52
+ ]
53
+ },
54
+ "verification_status": {
55
+ "inventory_roundtrip_verified": true,
56
+ "full_pytest_passed": true
57
+ }
58
+ }