Add getting started.
This commit is contained in:
@@ -965,8 +965,8 @@ FILE: 14_Repository_Review\duplicate_files_by_hash.json (6696 bytes)
|
||||
FILE: 14_Repository_Review\large_files.csv (220 bytes)
|
||||
FILE: 14_Repository_Review\problems_summary.json (274 bytes)
|
||||
FILE: 14_Repository_Review\README.md (1525 bytes)
|
||||
FILE: 14_Repository_Review\repository_inventory.csv (234199 bytes)
|
||||
FILE: 14_Repository_Review\repository_inventory.json (552826 bytes)
|
||||
FILE: 14_Repository_Review\repository_inventory.csv (234424 bytes)
|
||||
FILE: 14_Repository_Review\repository_inventory.json (553419 bytes)
|
||||
FILE: 14_Repository_Review\scan_statistics.json (1613 bytes)
|
||||
FILE: 14_Repository_Review\suspicious_files.csv (1972 bytes)
|
||||
FILE: 14_Repository_Review\unknown_file_types.csv (60089 bytes)
|
||||
@@ -980,7 +980,7 @@ DIR: 17_MultiPROG_SDK\docs\
|
||||
DIR: 17_MultiPROG_SDK\examples\
|
||||
FILE: 17_MultiPROG_SDK\examples\example_readonly_report.mjs (568 bytes)
|
||||
FILE: 17_MultiPROG_SDK\package.json (398 bytes)
|
||||
FILE: 17_MultiPROG_SDK\README.md (1472 bytes)
|
||||
FILE: 17_MultiPROG_SDK\README.md (1605 bytes)
|
||||
DIR: 17_MultiPROG_SDK\reference\
|
||||
DIR: 17_MultiPROG_SDK\reference\01_Security_Reference\
|
||||
FILE: 17_MultiPROG_SDK\reference\01_Security_Reference\Bosch_EDC16C36_Virgin_ISK.mjs (20586 bytes)
|
||||
@@ -1020,10 +1020,11 @@ DIR: 17_MultiPROG_SDK\utilities\
|
||||
FILE: 17_MultiPROG_SDK\utilities\_verify_crc.mjs (608 bytes)
|
||||
FILE: 17_MultiPROG_SDK\utilities\crc_engine.mjs (3248 bytes)
|
||||
DIR: 18_Documentation\
|
||||
FILE: 18_Documentation\BEGINNER_GUIDE.md (561 bytes)
|
||||
FILE: 18_Documentation\BEGINNER_GUIDE.md (680 bytes)
|
||||
FILE: 18_Documentation\BINARY_PROCESSING_GUIDE.md (390 bytes)
|
||||
FILE: 18_Documentation\CHECKSUM_GUIDE.md (222 bytes)
|
||||
FILE: 18_Documentation\DEBUGGING_GUIDE.md (367 bytes)
|
||||
FILE: 18_Documentation\GETTING_STARTED.md (6881 bytes)
|
||||
FILE: 18_Documentation\MULTIPROG_PROJECT_STRUCTURE.md (323 bytes)
|
||||
FILE: 18_Documentation\MULTIPROG_SCRIPT_LIFECYCLE.md (309 bytes)
|
||||
FILE: 18_Documentation\RELEASE_PROCESS.md (212 bytes)
|
||||
@@ -1040,8 +1041,8 @@ FILE: 20_Unsorted\README.md (695 bytes)
|
||||
DIR: 99_Quarantine\
|
||||
FILE: CONTRIBUTING.md (6701 bytes)
|
||||
FILE: LICENSES.md (8746 bytes)
|
||||
FILE: MANIFEST.json (198156 bytes)
|
||||
FILE: README.md (6833 bytes)
|
||||
FILE: MANIFEST.json (196856 bytes)
|
||||
FILE: README.md (6961 bytes)
|
||||
FILE: REPOSITORY_MATURITY_ASSESSMENT.md (579 bytes)
|
||||
FILE: ROADMAP.md (934 bytes)
|
||||
FILE: SECURITY.md (9582 bytes)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"RelativePath","Filename","Extension","FileCategory","Size","SHA256","CreatedTime","ModifiedTime","SourceURL","Author","License","TrustClassification","ValidationStatus","Notes"
|
||||
"CONTRIBUTING.md","CONTRIBUTING.md",".md","Markdown","6701","1FE4ED6535780083F9D06DDDD9F44393789024CCAFFAD53929C78E42E20C25D0","9/4/2026 10:48:48 AM","9/4/2026 1:19:46 PM","","","","Unknown","Pending",""
|
||||
"LICENSES.md","LICENSES.md",".md","Markdown","8746","240F008298948AEDE9CA5C532E477A7D28728D8A5FA4564314DDEBE2978EAE6C","9/4/2026 10:49:43 AM","9/4/2026 10:49:53 AM","","","","Unknown","Pending",""
|
||||
"MANIFEST.json","MANIFEST.json",".json","JSON","198156","B70B550B856624697635DA12DBA51B9B9EF6C7EDD3285A82CF2B69E78B221103","9/4/2026 9:22:22 AM","9/4/2026 1:25:49 PM","","","","Unknown","Pending",""
|
||||
"README.md","README.md",".md","Markdown","6833","CF1C86F79E3C471BC603C01D7493CF65227A2FE681F0299BF9FD031FBC38F9F2","9/4/2026 9:22:22 AM","9/4/2026 1:34:40 PM","","","","Unknown","Pending",""
|
||||
"MANIFEST.json","MANIFEST.json",".json","JSON","196856","3DE1C25E07B0281B4633B19187BBBEEE1666A6AF12B63B54D1C07C9DFE718D38","9/4/2026 9:22:22 AM","9/4/2026 1:40:40 PM","","","","Unknown","Pending",""
|
||||
"README.md","README.md",".md","Markdown","6961","2A3B2DFD66DDC81651D09EA6AA112EB37E3A2EE257D03EE5369EA0C845B8C0BF","9/4/2026 9:22:22 AM","9/4/2026 2:00:10 PM","","","","Unknown","Pending",""
|
||||
"REPOSITORY_MATURITY_ASSESSMENT.md","REPOSITORY_MATURITY_ASSESSMENT.md",".md","Markdown","579","B96C697BA593D13D68A24095E4D0918A28D5BC0CB21F1970796479E41F4346AF","9/4/2026 11:15:51 AM","9/4/2026 11:16:20 AM","","","","Unknown","Pending",""
|
||||
"ROADMAP.md","ROADMAP.md",".md","Markdown","934","18CA9DD6CB9204F5912697173DD08E06F96F6F59F342713D3DBCE3D422D76335","9/4/2026 11:12:00 AM","9/4/2026 11:20:13 AM","","","","Unknown","Pending",""
|
||||
"SECURITY.md","SECURITY.md",".md","Markdown","9582","45273E8C3D4A1D623838E21D38D76B169E36DEB98BD4B14EDD52224C2E89DC88","9/4/2026 10:49:16 AM","9/4/2026 11:01:35 AM","","","","Unknown","Pending",""
|
||||
@@ -798,20 +798,20 @@
|
||||
"13_Research_Expansion\Unsorted_Review\PROCESSING_SUMMARY.md","PROCESSING_SUMMARY.md",".md","Markdown","477","9254BEF506D8DF39E0440488AC528504B4FF00028709C5CD04E4B5B4DB664188","9/4/2026 11:21:56 AM","9/4/2026 11:24:09 AM","","","","Unknown","Pending",""
|
||||
"13_Research_Expansion\Unsorted_Review\README.md","README.md",".md","Markdown","660","A56E432A68DA9349ABB6218F117AD85CDF96FDB7B1D6AEC50B25397B905AC34D","9/4/2026 11:21:56 AM","9/4/2026 11:24:09 AM","","","","Unknown","Pending",""
|
||||
"13_Research_Expansion\Unsorted_Review\Tesla_Delphi_Bosch_SRS_CrashData.md","Tesla_Delphi_Bosch_SRS_CrashData.md",".md","Markdown","355","5D992DBCD551349BEC969F614F049E98CBABCA60A7CC7C253815C5157CC26B40","9/4/2026 11:22:11 AM","9/4/2026 11:24:09 AM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\directory_structure_before.txt","directory_structure_before.txt",".txt","Text","100985","88F5F603B1E8DB967FF3083A581E8056B4712875D42F3200EE1DA1E9E86CB279","9/4/2026 10:45:09 AM","9/4/2026 1:35:56 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\directory_structure_before.txt","directory_structure_before.txt",".txt","Text","100985","C3F428DF9C02436D3657060E02FE3E61B38A558D233A148A16521647C4B6A9EF","9/4/2026 10:45:09 AM","9/4/2026 1:39:41 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\duplicate_files_by_hash.json","duplicate_files_by_hash.json",".json","JSON","6696","106FF6D6024D6E814FA02CA2F402DFE8C6602B06B9AB789E88D788DEA3D08233","9/4/2026 10:47:24 AM","9/4/2026 1:38:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\large_files.csv","large_files.csv",".csv","CSV","220","F7773CA4138EE2EAC6EAD48B6403588ABEE387D13C656940A7352BD68ED9EE4A","9/4/2026 10:47:24 AM","9/4/2026 1:38:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\problems_summary.json","problems_summary.json",".json","JSON","274","F56B423B6C1D37644F4F9354361BE2487D52D71A000A9515A0CCA9CBC1C8E45D","9/4/2026 10:47:24 AM","9/4/2026 1:38:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\README.md","README.md",".md","Markdown","1525","92F0113A91591A2923D580BF19B484708B139C15D3107C5233168C76F270C188","9/4/2026 1:34:37 PM","9/4/2026 1:34:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\repository_inventory.csv","repository_inventory.csv",".csv","CSV","234199","638AA150EFD985275B8A22CB98B7D670CB0821C9D901BF139E7B98984229B529","9/4/2026 10:45:08 AM","9/4/2026 1:35:55 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\repository_inventory.json","repository_inventory.json",".json","JSON","552826","4AFD4FE0800DEAA89DA4D3AE7D91C1C21B9CC46E452B566C0525948C674093E3","9/4/2026 10:45:08 AM","9/4/2026 1:35:56 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\scan_statistics.json","scan_statistics.json",".json","JSON","1613","A47E7AB6C9F3D1042A2901AB201B11FBE46D39731FA68E3A346B4BE428094C13","9/4/2026 10:45:09 AM","9/4/2026 1:35:56 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\repository_inventory.csv","repository_inventory.csv",".csv","CSV","234199","C0BA9CDFB873EAD7B0296E750C9BD4E904A7DF63689F0F05C327D3DD68FB3412","9/4/2026 10:45:08 AM","9/4/2026 1:39:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\repository_inventory.json","repository_inventory.json",".json","JSON","552826","A82F7BD15FBCB2F940829621CD9EBF92DD9C287AB68718D894D173AC5C02DED3","9/4/2026 10:45:08 AM","9/4/2026 1:39:41 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\scan_statistics.json","scan_statistics.json",".json","JSON","1613","5EAB32D4E58FBAEA01F7F348968917350095D3560A5A79FFCE11AFBB661818D1","9/4/2026 10:45:09 AM","9/4/2026 1:39:41 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\suspicious_files.csv","suspicious_files.csv",".csv","CSV","1972","B7E7CA74D80EA2DEA53903EB8ADBB7A1407BA2ED80830256C131E4E3A67C557D","9/4/2026 10:47:24 AM","9/4/2026 1:38:40 PM","","","","Unknown","Pending",""
|
||||
"14_Repository_Review\unknown_file_types.csv","unknown_file_types.csv",".csv","CSV","60089","3DDDBEDA457429B84B87D757390C27FE5B2E617FACAC8E5966C3323028DAE4A2","9/4/2026 10:47:24 AM","9/4/2026 1:38:40 PM","","","","Unknown","Pending",""
|
||||
"16_Tests\MultiPROG\test_buffer_utils.mjs","test_buffer_utils.mjs",".mjs","JavaScript Module","441","531D025C253C6E8BBC7D3C5899CC95ECE73E628B2076F4D9CD92CB4391592A27","9/4/2026 11:10:12 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"16_Tests\MultiPROG\TEST_GUIDE.md","TEST_GUIDE.md",".md","Markdown","445","CA5FB9BC8FA956B7B07E614F4A0070EBF08B150644B374B92EB4479B73C56DCF","9/4/2026 11:10:07 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\package.json","package.json",".json","JSON","398","E4B559A5C6C3A46FFAE5C5FF06BB825D95CCEC9034BCF2FF776C85FA7D160875","9/4/2026 11:19:22 AM","9/4/2026 11:20:13 AM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\README.md","README.md",".md","Markdown","1472","FFED2A950A4DAB02D7E736A2B2A367A5CCF49243B994DAC545E3224888A57E87","9/4/2026 11:09:28 AM","9/4/2026 12:37:19 PM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\README.md","README.md",".md","Markdown","1605","B73F2BFA03EA67D28B1B21B74A9EEF0D4207C101CB0812002B31265C738C9742","9/4/2026 11:09:28 AM","9/4/2026 2:00:10 PM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\examples\example_readonly_report.mjs","example_readonly_report.mjs",".mjs","JavaScript Module","568","9531F8CA37ED566137E008A5E0B73CDC281D51E712E5947BD59DBB28BFED395E","9/4/2026 11:16:38 AM","9/4/2026 11:17:03 AM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\reference\README.md","README.md",".md","Markdown","455","90AC690FC57142C2241256EF08EF08125379EA454A4D76018A49623E34D907C3","9/4/2026 11:31:51 AM","9/4/2026 11:32:04 AM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\reference\01_Security_Reference\Bosch_EDC16C36_Virgin_ISK.mjs","Bosch_EDC16C36_Virgin_ISK.mjs",".mjs","JavaScript Module","20586","7733B093340D370E5038DDF397A8AE509F581DC8858625C1F19D08DB1F1011BC","9/4/2026 11:14:35 AM","4/27/2026 12:50:47 PM","","","","Unknown","Pending",""
|
||||
@@ -841,10 +841,11 @@
|
||||
"17_MultiPROG_SDK\tests\workflow_templates.test.mjs","workflow_templates.test.mjs",".mjs","JavaScript Module","1351","A2CCC4FC13D02D75D73B38134E8BC409D8A9D529C882AE4F3156B540CDFB8D0D","9/4/2026 11:22:28 AM","9/4/2026 11:24:09 AM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\utilities\crc_engine.mjs","crc_engine.mjs",".mjs","JavaScript Module","3248","9B4510B713931CBDF89C60914F23A5AA496A7A65C2CEED564BBD3BBCF0A55C26","9/4/2026 12:32:59 PM","9/4/2026 12:34:30 PM","","","","Unknown","Pending",""
|
||||
"17_MultiPROG_SDK\utilities\_verify_crc.mjs","_verify_crc.mjs",".mjs","JavaScript Module","608","2C314EB8AC8A5779EDF3468B343F8F2A33AAE25A382E6026B43E55CA1EF1AB13","9/4/2026 12:33:21 PM","9/4/2026 12:33:54 PM","","","","Unknown","Pending",""
|
||||
"18_Documentation\BEGINNER_GUIDE.md","BEGINNER_GUIDE.md",".md","Markdown","561","8E2035E606E63609301A7294A53630DA19764B0F3DE1E86A66A3C6F35EB1D16A","9/4/2026 11:10:16 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\BEGINNER_GUIDE.md","BEGINNER_GUIDE.md",".md","Markdown","680","5F4FD344CAACD5849F24D9E01C516FA70F59ACA2C9D9C5108B339348E5ED3929","9/4/2026 11:10:16 AM","9/4/2026 2:00:10 PM","","","","Unknown","Pending",""
|
||||
"18_Documentation\BINARY_PROCESSING_GUIDE.md","BINARY_PROCESSING_GUIDE.md",".md","Markdown","390","6CE464EE04596465FAB4F9B13F06C41A73DC9E02D297786AB1FC2A4B7EC13101","9/4/2026 11:10:38 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\CHECKSUM_GUIDE.md","CHECKSUM_GUIDE.md",".md","Markdown","222","D842804B235FA261E51C8C782E6C870CB84557E27ED2A7A613320E5263FBCBF5","9/4/2026 11:10:34 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\DEBUGGING_GUIDE.md","DEBUGGING_GUIDE.md",".md","Markdown","367","84F758359CBB2418CD922E81B792852D390F779A4B4F65EDA377A10D659DC5E6","9/4/2026 11:10:42 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\GETTING_STARTED.md","GETTING_STARTED.md",".md","Markdown","6881","0BC77482B762B11822BAD1153A7B4E6C8069B06DDE022B766DA7AEA39FB0554E","9/4/2026 1:54:58 PM","9/4/2026 2:00:10 PM","","","","Unknown","Pending",""
|
||||
"18_Documentation\MULTIPROG_PROJECT_STRUCTURE.md","MULTIPROG_PROJECT_STRUCTURE.md",".md","Markdown","323","CA936966071C61EDF7CF7171DE78E3A7A588C098E40628F97882A047A838281A","9/4/2026 11:10:30 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\MULTIPROG_SCRIPT_LIFECYCLE.md","MULTIPROG_SCRIPT_LIFECYCLE.md",".md","Markdown","309","7DF02DEDBFF4BDEA588E23B0F183D5AEE40D0D5887EC0FC182A7932F8856239E","9/4/2026 11:10:25 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
"18_Documentation\RELEASE_PROCESS.md","RELEASE_PROCESS.md",".md","Markdown","212","3E992F15B1E4FF0A8F1CACCD89584DAC634851267E48BBE8E11604D05846AE9D","9/4/2026 11:10:51 AM","9/4/2026 11:15:22 AM","","","","Unknown","Pending",""
|
||||
|
||||
|
@@ -36,10 +36,10 @@
|
||||
"Filename": "MANIFEST.json",
|
||||
"Extension": ".json",
|
||||
"FileCategory": "JSON",
|
||||
"Size": 198156,
|
||||
"SHA256": "B70B550B856624697635DA12DBA51B9B9EF6C7EDD3285A82CF2B69E78B221103",
|
||||
"Size": 196856,
|
||||
"SHA256": "3DE1C25E07B0281B4633B19187BBBEEE1666A6AF12B63B54D1C07C9DFE718D38",
|
||||
"CreatedTime": "\/Date(1788538942564)\/",
|
||||
"ModifiedTime": "\/Date(1788553549118)\/",
|
||||
"ModifiedTime": "\/Date(1788554440814)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -52,10 +52,10 @@
|
||||
"Filename": "README.md",
|
||||
"Extension": ".md",
|
||||
"FileCategory": "Markdown",
|
||||
"Size": 6833,
|
||||
"SHA256": "CF1C86F79E3C471BC603C01D7493CF65227A2FE681F0299BF9FD031FBC38F9F2",
|
||||
"Size": 6961,
|
||||
"SHA256": "2A3B2DFD66DDC81651D09EA6AA112EB37E3A2EE257D03EE5369EA0C845B8C0BF",
|
||||
"CreatedTime": "\/Date(1788538942584)\/",
|
||||
"ModifiedTime": "\/Date(1788554080209)\/",
|
||||
"ModifiedTime": "\/Date(1788555610323)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -12789,9 +12789,9 @@
|
||||
"Extension": ".txt",
|
||||
"FileCategory": "Text",
|
||||
"Size": 100985,
|
||||
"SHA256": "88F5F603B1E8DB967FF3083A581E8056B4712875D42F3200EE1DA1E9E86CB279",
|
||||
"SHA256": "C3F428DF9C02436D3657060E02FE3E61B38A558D233A148A16521647C4B6A9EF",
|
||||
"CreatedTime": "\/Date(1788543909344)\/",
|
||||
"ModifiedTime": "\/Date(1788554156149)\/",
|
||||
"ModifiedTime": "\/Date(1788554381167)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -12869,9 +12869,9 @@
|
||||
"Extension": ".csv",
|
||||
"FileCategory": "CSV",
|
||||
"Size": 234199,
|
||||
"SHA256": "638AA150EFD985275B8A22CB98B7D670CB0821C9D901BF139E7B98984229B529",
|
||||
"SHA256": "C0BA9CDFB873EAD7B0296E750C9BD4E904A7DF63689F0F05C327D3DD68FB3412",
|
||||
"CreatedTime": "\/Date(1788543908164)\/",
|
||||
"ModifiedTime": "\/Date(1788554155997)\/",
|
||||
"ModifiedTime": "\/Date(1788554380968)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -12885,9 +12885,9 @@
|
||||
"Extension": ".json",
|
||||
"FileCategory": "JSON",
|
||||
"Size": 552826,
|
||||
"SHA256": "4AFD4FE0800DEAA89DA4D3AE7D91C1C21B9CC46E452B566C0525948C674093E3",
|
||||
"SHA256": "A82F7BD15FBCB2F940829621CD9EBF92DD9C287AB68718D894D173AC5C02DED3",
|
||||
"CreatedTime": "\/Date(1788543908504)\/",
|
||||
"ModifiedTime": "\/Date(1788554156022)\/",
|
||||
"ModifiedTime": "\/Date(1788554381032)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -12901,9 +12901,9 @@
|
||||
"Extension": ".json",
|
||||
"FileCategory": "JSON",
|
||||
"Size": 1613,
|
||||
"SHA256": "A47E7AB6C9F3D1042A2901AB201B11FBE46D39731FA68E3A346B4BE428094C13",
|
||||
"SHA256": "5EAB32D4E58FBAEA01F7F348968917350095D3560A5A79FFCE11AFBB661818D1",
|
||||
"CreatedTime": "\/Date(1788543909404)\/",
|
||||
"ModifiedTime": "\/Date(1788554156158)\/",
|
||||
"ModifiedTime": "\/Date(1788554381190)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -12996,10 +12996,10 @@
|
||||
"Filename": "README.md",
|
||||
"Extension": ".md",
|
||||
"FileCategory": "Markdown",
|
||||
"Size": 1472,
|
||||
"SHA256": "FFED2A950A4DAB02D7E736A2B2A367A5CCF49243B994DAC545E3224888A57E87",
|
||||
"Size": 1605,
|
||||
"SHA256": "B73F2BFA03EA67D28B1B21B74A9EEF0D4207C101CB0812002B31265C738C9742",
|
||||
"CreatedTime": "\/Date(1788545368364)\/",
|
||||
"ModifiedTime": "\/Date(1788550639450)\/",
|
||||
"ModifiedTime": "\/Date(1788555610323)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -13476,10 +13476,10 @@
|
||||
"Filename": "BEGINNER_GUIDE.md",
|
||||
"Extension": ".md",
|
||||
"FileCategory": "Markdown",
|
||||
"Size": 561,
|
||||
"SHA256": "8E2035E606E63609301A7294A53630DA19764B0F3DE1E86A66A3C6F35EB1D16A",
|
||||
"Size": 680,
|
||||
"SHA256": "5F4FD344CAACD5849F24D9E01C516FA70F59ACA2C9D9C5108B339348E5ED3929",
|
||||
"CreatedTime": "\/Date(1788545416917)\/",
|
||||
"ModifiedTime": "\/Date(1788545722264)\/",
|
||||
"ModifiedTime": "\/Date(1788555610323)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
@@ -13535,6 +13535,22 @@
|
||||
"ValidationStatus": "Pending",
|
||||
"Notes": ""
|
||||
},
|
||||
{
|
||||
"RelativePath": "18_Documentation\\GETTING_STARTED.md",
|
||||
"Filename": "GETTING_STARTED.md",
|
||||
"Extension": ".md",
|
||||
"FileCategory": "Markdown",
|
||||
"Size": 6881,
|
||||
"SHA256": "0BC77482B762B11822BAD1153A7B4E6C8069B06DDE022B766DA7AEA39FB0554E",
|
||||
"CreatedTime": "\/Date(1788555298870)\/",
|
||||
"ModifiedTime": "\/Date(1788555610323)\/",
|
||||
"SourceURL": "",
|
||||
"Author": "",
|
||||
"License": "",
|
||||
"TrustClassification": "Unknown",
|
||||
"ValidationStatus": "Pending",
|
||||
"Notes": ""
|
||||
},
|
||||
{
|
||||
"RelativePath": "18_Documentation\\MULTIPROG_PROJECT_STRUCTURE.md",
|
||||
"Filename": "MULTIPROG_PROJECT_STRUCTURE.md",
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"RepositoryRoot": "D:\\Projects\\XHorse_MultiPROG_Ultimate_Kit",
|
||||
"ErrorsEncountered": 0,
|
||||
"TotalDirectories": 191,
|
||||
"TotalFiles": 860,
|
||||
"FilesByCategory": "[\r\n {\r\n \"Category\": \"Markdown\",\r\n \"Count\": 84\r\n },\r\n {\r\n \"Category\": \"JSON\",\r\n \"Count\": 30\r\n },\r\n {\r\n \"Category\": \"PowerShell\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"CSV\",\r\n \"Count\": 10\r\n },\r\n {\r\n \"Category\": \"JavaScript Module\",\r\n \"Count\": 105\r\n },\r\n {\r\n \"Category\": \"URL Shortcut\",\r\n \"Count\": 19\r\n },\r\n {\r\n \"Category\": \"Unknown\",\r\n \"Count\": 454\r\n },\r\n {\r\n \"Category\": \"JavaScript\",\r\n \"Count\": 106\r\n },\r\n {\r\n \"Category\": \"YAML\",\r\n \"Count\": 8\r\n },\r\n {\r\n \"Category\": \"TAR Archive\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"Text\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"HTML\",\r\n \"Count\": 28\r\n },\r\n {\r\n \"Category\": \"CSS\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"Backup\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"XML\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"RAR Archive\",\r\n \"Count\": 1\r\n }\r\n]",
|
||||
"TotalSize": 30158297,
|
||||
"ScanDate": "2026-09-04 13:39:41"
|
||||
"TotalFiles": 861,
|
||||
"FilesByCategory": "[\r\n {\r\n \"Category\": \"Markdown\",\r\n \"Count\": 85\r\n },\r\n {\r\n \"Category\": \"JSON\",\r\n \"Count\": 30\r\n },\r\n {\r\n \"Category\": \"PowerShell\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"CSV\",\r\n \"Count\": 10\r\n },\r\n {\r\n \"Category\": \"JavaScript Module\",\r\n \"Count\": 105\r\n },\r\n {\r\n \"Category\": \"URL Shortcut\",\r\n \"Count\": 19\r\n },\r\n {\r\n \"Category\": \"Unknown\",\r\n \"Count\": 454\r\n },\r\n {\r\n \"Category\": \"JavaScript\",\r\n \"Count\": 106\r\n },\r\n {\r\n \"Category\": \"YAML\",\r\n \"Count\": 8\r\n },\r\n {\r\n \"Category\": \"TAR Archive\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"Text\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"HTML\",\r\n \"Count\": 28\r\n },\r\n {\r\n \"Category\": \"CSS\",\r\n \"Count\": 4\r\n },\r\n {\r\n \"Category\": \"Backup\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"XML\",\r\n \"Count\": 1\r\n },\r\n {\r\n \"Category\": \"RAR Archive\",\r\n \"Count\": 1\r\n }\r\n]",
|
||||
"TotalSize": 30164258,
|
||||
"ScanDate": "2026-09-04 14:00:28"
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
This SDK provides a lightweight development framework for authoring Multi-PROG-compatible scripts from the existing repository materials.
|
||||
|
||||
New to the repository? Start with the [Getting Started guide](../18_Documentation/GETTING_STARTED.md) before choosing a template.
|
||||
|
||||
## Warning
|
||||
|
||||
Replace all placeholder host APIs with verified Multi-PROG Help API names for the target installation.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Beginner Guide
|
||||
|
||||
For the complete first-use workflow, see [Getting Started With Multi-PROG Scripts and the SDK](GETTING_STARTED.md).
|
||||
|
||||
## What to read first
|
||||
|
||||
1. Start with the repository overview in README.md.
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
# Getting Started With Multi-PROG Scripts and the SDK
|
||||
|
||||
This guide is the starting point for developing safe, authorized XHorse Multi-PROG scripts with this repository. The SDK is an offline development scaffold: it helps with structure, binary utilities, validation, reporting, and tests, but it does not replace the Multi-PROG application's own Help reference or device-specific procedures.
|
||||
|
||||
## Before You Begin
|
||||
|
||||
Use this material only for hardware and vehicles you own or are explicitly authorized to service. Keep customer data, security values, credentials, and real vehicle dumps inside the approved private workflow. Use synthetic buffers or published test vectors while learning.
|
||||
|
||||
Install or have access to:
|
||||
|
||||
- Xhorse Multi-PROG and the target installation's built-in Script Help.
|
||||
- Node.js for offline tests outside Multi-PROG.
|
||||
- A text editor such as VS Code.
|
||||
- A case or change identifier for every authorized job.
|
||||
|
||||
Do not assume that Node.js modules, `Buffer`, filesystem APIs, package imports, or modern JavaScript features are available inside the Multi-PROG host.
|
||||
|
||||
## Find the Right Starting Point
|
||||
|
||||
- [03_Script_Starter_Kit/](../03_Script_Starter_Kit/) contains dependency-free binary helpers and small examples.
|
||||
- [17_MultiPROG_SDK/](../17_MultiPROG_SDK/) contains reusable templates, utilities, schemas, examples, and offline tests.
|
||||
- [18_Documentation/SCRIPT_WRITING_GUIDE.md](SCRIPT_WRITING_GUIDE.md) gives the short authoring rules.
|
||||
- [18_Documentation/MULTIPROG_SCRIPT_LIFECYCLE.md](MULTIPROG_SCRIPT_LIFECYCLE.md) describes the development stages.
|
||||
- [04_Workflows/AUTHORIZED_REPAIR_WORKFLOW.md](../04_Workflows/AUTHORIZED_REPAIR_WORKFLOW.md) covers intake, acquisition, validation, and release controls.
|
||||
|
||||
Start with `template_readonly.mjs`, `template_validator.mjs`, or `template_reporting.mjs`. Use write-oriented templates only after the read-only and validation behavior is understood.
|
||||
|
||||
## First Offline Prototype
|
||||
|
||||
1. Create a working copy outside the collected-source directories.
|
||||
2. Select a template from `17_MultiPROG_SDK/templates/`.
|
||||
3. Write down the input shape, expected output, allowed ranges, and failure conditions.
|
||||
4. Keep the transformation in pure functions that accept and return `Uint8Array` values where possible.
|
||||
5. Use synthetic data, for example:
|
||||
|
||||
```js
|
||||
const sample = new Uint8Array([0x10, 0x20, 0x30, 0x40]);
|
||||
```
|
||||
|
||||
6. Validate buffer lengths, offsets, identifiers, and checksum parameters before changing data.
|
||||
7. Preserve the original buffer and produce a diff or structured report for every proposed change.
|
||||
|
||||
The SDK utilities are useful here. For example, `utilities/crc_engine.mjs` provides configurable CRC models, while the templates show patterns for comparison, checksums, allow-listed changes, and reporting.
|
||||
|
||||
## Run the Offline Tests
|
||||
|
||||
From the repository root, use the installed Node.js executable on Windows if `node` is not on `PATH`:
|
||||
|
||||
```powershell
|
||||
& 'C:\Program Files\nodejs\node.exe' 17_MultiPROG_SDK/tests/buffer_helpers.test.mjs
|
||||
& 'C:\Program Files\nodejs\node.exe' 17_MultiPROG_SDK/tests/crc_engine.test.mjs
|
||||
& 'C:\Program Files\nodejs\node.exe' 17_MultiPROG_SDK/tests/encoding_helpers.test.mjs
|
||||
& 'C:\Program Files\nodejs\node.exe' 17_MultiPROG_SDK/tests/template_catalog.test.mjs
|
||||
& 'C:\Program Files\nodejs\node.exe' 17_MultiPROG_SDK/tests/workflow_templates.test.mjs
|
||||
```
|
||||
|
||||
The package metadata also defines an npm test command when npm is available:
|
||||
|
||||
```powershell
|
||||
Set-Location 17_MultiPROG_SDK
|
||||
npm test
|
||||
```
|
||||
|
||||
Keep tests deterministic and offline. Add synthetic fixtures for malformed input, boundary offsets, wrong lengths, checksum mismatches, and disallowed write ranges.
|
||||
|
||||
## Adapt to Multi-PROG
|
||||
|
||||
Only after the offline behavior is correct:
|
||||
|
||||
1. Open Multi-PROG's built-in Script Help for the installed version.
|
||||
2. Verify each host API name, argument order, return type, buffer type, and error behavior.
|
||||
3. Replace placeholder host calls at a small wrapper boundary.
|
||||
4. Keep the binary and validation logic independent from host UI and device calls.
|
||||
5. Test read-only behavior first in the Multi-PROG editor or test environment.
|
||||
6. Confirm the script's metadata, buttons, dialogs, and output paths using a non-production fixture.
|
||||
|
||||
Do not copy Node.js imports or package dependencies into a Multi-PROG script unless the target installation explicitly supports them. Prefer small, dependency-free routines copied from the SDK and re-tested in both environments.
|
||||
|
||||
## Authorized Read and Write Workflow
|
||||
|
||||
For an authorized service case:
|
||||
|
||||
- Record authorization, case ID, vehicle/module identity, and source references.
|
||||
- Acquire two independent reads and compare them byte-for-byte.
|
||||
- Hash and preserve the original files before any transformation.
|
||||
- Work on a copy and maintain an explicit write allow-list.
|
||||
- Log every changed range, including original and replacement bytes.
|
||||
- Verify size, identifiers, blank regions, checksums, and the final diff.
|
||||
- Preserve rollback files and record the Multi-PROG software and firmware versions.
|
||||
|
||||
Stop when reads disagree, an identifier is unexpected, a checksum model is uncertain, or a requested change falls outside the documented allow-list.
|
||||
|
||||
## Package a Script
|
||||
|
||||
A useful script package should include:
|
||||
|
||||
- The script and a clear version identifier.
|
||||
- A metadata record describing purpose, inputs, outputs, assumptions, and host compatibility.
|
||||
- Offline tests and synthetic vectors.
|
||||
- A change report or validation report.
|
||||
- Source attribution and license information for reused code.
|
||||
- A SHA-256 hash of the release bundle.
|
||||
- Test results and the Multi-PROG version used for host testing.
|
||||
|
||||
Keep unverified downloads and suspicious files in their existing source or quarantine locations. Do not promote them into the SDK without provenance, license review, and offline validation.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **The script works in Node but not Multi-PROG:** check imports, `Buffer`, filesystem calls, unsupported syntax, and every host API signature.
|
||||
- **A checksum does not match:** confirm the region, stored offset, length, endian, polynomial, initial value, reflection settings, and final XOR value.
|
||||
- **A write is rejected:** verify the buffer length and allow-listed range; do not broaden the range just to make a test pass.
|
||||
- **Tests cannot start on Windows:** use the full path to `node.exe` shown above, or select the configured Node.js interpreter in VS Code.
|
||||
- **A collected example is unclear:** treat it as reference material, inspect its provenance, and do not execute it on a vehicle or connect it to credentials.
|
||||
|
||||
## Next Reading
|
||||
|
||||
- [SDK README](../17_MultiPROG_SDK/README.md)
|
||||
- [Binary Processing Guide](BINARY_PROCESSING_GUIDE.md)
|
||||
- [Checksum Guide](CHECKSUM_GUIDE.md)
|
||||
- [Debugging Guide](DEBUGGING_GUIDE.md)
|
||||
- [Security Policy](../SECURITY.md)
|
||||
+1195
-1190
File diff suppressed because it is too large
Load Diff
@@ -13,6 +13,7 @@ This package delivers three integrated components:
|
||||
## Quick Start
|
||||
|
||||
- **First time here?** Start with [01_Knowledge_Base/README.md](01_Knowledge_Base/README.md)
|
||||
- **Getting started with scripts and the SDK?** Read [18_Documentation/GETTING_STARTED.md](18_Documentation/GETTING_STARTED.md)
|
||||
- **Looking for resources?** Review [02_Resource_Catalog/links.md](02_Resource_Catalog/links.md) and [02_Resource_Catalog/links.csv](02_Resource_Catalog/links.csv)
|
||||
- **Ready to write a script?** See [03_Script_Starter_Kit/](03_Script_Starter_Kit/) for templates and safe examples
|
||||
- **Authorized shop work?** Review [07_Authorized_Key_Immobilizer_Work/README.md](07_Authorized_Key_Immobilizer_Work/README.md)
|
||||
|
||||
Reference in New Issue
Block a user