elspais 0.11.1__py3-none-any.whl → 0.43.5__py3-none-any.whl

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 (148) hide show
  1. elspais/__init__.py +2 -11
  2. elspais/{sponsors/__init__.py → associates.py} +102 -58
  3. elspais/cli.py +395 -79
  4. elspais/commands/__init__.py +9 -3
  5. elspais/commands/analyze.py +121 -173
  6. elspais/commands/changed.py +15 -30
  7. elspais/commands/config_cmd.py +13 -16
  8. elspais/commands/edit.py +60 -44
  9. elspais/commands/example_cmd.py +319 -0
  10. elspais/commands/hash_cmd.py +167 -183
  11. elspais/commands/health.py +1177 -0
  12. elspais/commands/index.py +98 -114
  13. elspais/commands/init.py +103 -26
  14. elspais/commands/reformat_cmd.py +41 -444
  15. elspais/commands/rules_cmd.py +7 -3
  16. elspais/commands/trace.py +444 -321
  17. elspais/commands/validate.py +195 -415
  18. elspais/config/__init__.py +799 -5
  19. elspais/{core/content_rules.py → content_rules.py} +20 -3
  20. elspais/docs/cli/assertions.md +67 -0
  21. elspais/docs/cli/commands.md +304 -0
  22. elspais/docs/cli/config.md +262 -0
  23. elspais/docs/cli/format.md +66 -0
  24. elspais/docs/cli/git.md +45 -0
  25. elspais/docs/cli/health.md +190 -0
  26. elspais/docs/cli/hierarchy.md +60 -0
  27. elspais/docs/cli/ignore.md +72 -0
  28. elspais/docs/cli/mcp.md +245 -0
  29. elspais/docs/cli/quickstart.md +58 -0
  30. elspais/docs/cli/traceability.md +89 -0
  31. elspais/docs/cli/validation.md +96 -0
  32. elspais/graph/GraphNode.py +383 -0
  33. elspais/graph/__init__.py +40 -0
  34. elspais/graph/annotators.py +927 -0
  35. elspais/graph/builder.py +1886 -0
  36. elspais/graph/deserializer.py +248 -0
  37. elspais/graph/factory.py +284 -0
  38. elspais/graph/metrics.py +127 -0
  39. elspais/graph/mutations.py +161 -0
  40. elspais/graph/parsers/__init__.py +156 -0
  41. elspais/graph/parsers/code.py +213 -0
  42. elspais/graph/parsers/comments.py +112 -0
  43. elspais/graph/parsers/config_helpers.py +29 -0
  44. elspais/graph/parsers/heredocs.py +225 -0
  45. elspais/graph/parsers/journey.py +131 -0
  46. elspais/graph/parsers/remainder.py +79 -0
  47. elspais/graph/parsers/requirement.py +347 -0
  48. elspais/graph/parsers/results/__init__.py +6 -0
  49. elspais/graph/parsers/results/junit_xml.py +229 -0
  50. elspais/graph/parsers/results/pytest_json.py +313 -0
  51. elspais/graph/parsers/test.py +305 -0
  52. elspais/graph/relations.py +78 -0
  53. elspais/graph/serialize.py +216 -0
  54. elspais/html/__init__.py +8 -0
  55. elspais/html/generator.py +731 -0
  56. elspais/html/templates/trace_view.html.j2 +2151 -0
  57. elspais/mcp/__init__.py +47 -29
  58. elspais/mcp/__main__.py +5 -1
  59. elspais/mcp/file_mutations.py +138 -0
  60. elspais/mcp/server.py +2016 -247
  61. elspais/testing/__init__.py +4 -4
  62. elspais/testing/config.py +3 -0
  63. elspais/testing/mapper.py +1 -1
  64. elspais/testing/result_parser.py +25 -21
  65. elspais/testing/scanner.py +301 -12
  66. elspais/utilities/__init__.py +1 -0
  67. elspais/utilities/docs_loader.py +115 -0
  68. elspais/utilities/git.py +607 -0
  69. elspais/{core → utilities}/hasher.py +8 -22
  70. elspais/utilities/md_renderer.py +189 -0
  71. elspais/{core → utilities}/patterns.py +58 -57
  72. elspais/utilities/reference_config.py +626 -0
  73. elspais/validation/__init__.py +19 -0
  74. elspais/validation/format.py +264 -0
  75. {elspais-0.11.1.dist-info → elspais-0.43.5.dist-info}/METADATA +7 -4
  76. elspais-0.43.5.dist-info/RECORD +80 -0
  77. elspais/config/defaults.py +0 -173
  78. elspais/config/loader.py +0 -494
  79. elspais/core/__init__.py +0 -21
  80. elspais/core/git.py +0 -352
  81. elspais/core/models.py +0 -320
  82. elspais/core/parser.py +0 -640
  83. elspais/core/rules.py +0 -514
  84. elspais/mcp/context.py +0 -171
  85. elspais/mcp/serializers.py +0 -112
  86. elspais/reformat/__init__.py +0 -50
  87. elspais/reformat/detector.py +0 -119
  88. elspais/reformat/hierarchy.py +0 -246
  89. elspais/reformat/line_breaks.py +0 -220
  90. elspais/reformat/prompts.py +0 -123
  91. elspais/reformat/transformer.py +0 -264
  92. elspais/trace_view/__init__.py +0 -54
  93. elspais/trace_view/coverage.py +0 -183
  94. elspais/trace_view/generators/__init__.py +0 -12
  95. elspais/trace_view/generators/base.py +0 -329
  96. elspais/trace_view/generators/csv.py +0 -122
  97. elspais/trace_view/generators/markdown.py +0 -175
  98. elspais/trace_view/html/__init__.py +0 -31
  99. elspais/trace_view/html/generator.py +0 -1006
  100. elspais/trace_view/html/templates/base.html +0 -283
  101. elspais/trace_view/html/templates/components/code_viewer_modal.html +0 -14
  102. elspais/trace_view/html/templates/components/file_picker_modal.html +0 -20
  103. elspais/trace_view/html/templates/components/legend_modal.html +0 -69
  104. elspais/trace_view/html/templates/components/review_panel.html +0 -118
  105. elspais/trace_view/html/templates/partials/review/help/help-panel.json +0 -244
  106. elspais/trace_view/html/templates/partials/review/help/onboarding.json +0 -77
  107. elspais/trace_view/html/templates/partials/review/help/tooltips.json +0 -237
  108. elspais/trace_view/html/templates/partials/review/review-comments.js +0 -928
  109. elspais/trace_view/html/templates/partials/review/review-data.js +0 -961
  110. elspais/trace_view/html/templates/partials/review/review-help.js +0 -679
  111. elspais/trace_view/html/templates/partials/review/review-init.js +0 -177
  112. elspais/trace_view/html/templates/partials/review/review-line-numbers.js +0 -429
  113. elspais/trace_view/html/templates/partials/review/review-packages.js +0 -1029
  114. elspais/trace_view/html/templates/partials/review/review-position.js +0 -540
  115. elspais/trace_view/html/templates/partials/review/review-resize.js +0 -115
  116. elspais/trace_view/html/templates/partials/review/review-status.js +0 -659
  117. elspais/trace_view/html/templates/partials/review/review-sync.js +0 -992
  118. elspais/trace_view/html/templates/partials/review-styles.css +0 -2238
  119. elspais/trace_view/html/templates/partials/scripts.js +0 -1741
  120. elspais/trace_view/html/templates/partials/styles.css +0 -1756
  121. elspais/trace_view/models.py +0 -353
  122. elspais/trace_view/review/__init__.py +0 -60
  123. elspais/trace_view/review/branches.py +0 -1149
  124. elspais/trace_view/review/models.py +0 -1205
  125. elspais/trace_view/review/position.py +0 -609
  126. elspais/trace_view/review/server.py +0 -1056
  127. elspais/trace_view/review/status.py +0 -470
  128. elspais/trace_view/review/storage.py +0 -1367
  129. elspais/trace_view/scanning.py +0 -213
  130. elspais/trace_view/specs/README.md +0 -84
  131. elspais/trace_view/specs/tv-d00001-template-architecture.md +0 -36
  132. elspais/trace_view/specs/tv-d00002-css-extraction.md +0 -37
  133. elspais/trace_view/specs/tv-d00003-js-extraction.md +0 -43
  134. elspais/trace_view/specs/tv-d00004-build-embedding.md +0 -40
  135. elspais/trace_view/specs/tv-d00005-test-format.md +0 -78
  136. elspais/trace_view/specs/tv-d00010-review-data-models.md +0 -33
  137. elspais/trace_view/specs/tv-d00011-review-storage.md +0 -33
  138. elspais/trace_view/specs/tv-d00012-position-resolution.md +0 -33
  139. elspais/trace_view/specs/tv-d00013-git-branches.md +0 -31
  140. elspais/trace_view/specs/tv-d00014-review-api-server.md +0 -31
  141. elspais/trace_view/specs/tv-d00015-status-modifier.md +0 -27
  142. elspais/trace_view/specs/tv-d00016-js-integration.md +0 -33
  143. elspais/trace_view/specs/tv-p00001-html-generator.md +0 -33
  144. elspais/trace_view/specs/tv-p00002-review-system.md +0 -29
  145. elspais-0.11.1.dist-info/RECORD +0 -101
  146. {elspais-0.11.1.dist-info → elspais-0.43.5.dist-info}/WHEEL +0 -0
  147. {elspais-0.11.1.dist-info → elspais-0.43.5.dist-info}/entry_points.txt +0 -0
  148. {elspais-0.11.1.dist-info → elspais-0.43.5.dist-info}/licenses/LICENSE +0 -0
@@ -1,31 +0,0 @@
1
- # REQ-tv-d00014: Review API Server
2
-
3
- **Level**: Dev | **Status**: Draft | **Implements**: REQ-tv-p00002
4
-
5
- ## Assertions
6
-
7
- A. The API server SHALL be implemented as a Flask application with a `create_app(repo_root, static_dir)` factory function.
8
-
9
- B. Thread endpoints SHALL support: `POST /api/reviews/reqs/{id}/threads` (create), `POST /api/reviews/reqs/{id}/threads/{tid}/comments` (add comment), `POST /api/reviews/reqs/{id}/threads/{tid}/resolve` (resolve), `POST /api/reviews/reqs/{id}/threads/{tid}/unresolve` (unresolve).
10
-
11
- C. Status endpoints SHALL support: `GET /api/reviews/reqs/{id}/status` (get status), `POST /api/reviews/reqs/{id}/status` (change status in spec file), `GET /api/reviews/reqs/{id}/requests` (list requests), `POST /api/reviews/reqs/{id}/requests` (create request), `POST /api/reviews/reqs/{id}/requests/{rid}/approvals` (add approval).
12
-
13
- D. Package endpoints SHALL support: `GET /api/reviews/packages` (list), `POST /api/reviews/packages` (create), `GET/PUT/DELETE /api/reviews/packages/{id}` (CRUD), `POST/DELETE /api/reviews/packages/{id}/reqs/{req_id}` (membership), `GET/PUT /api/reviews/packages/active` (active package).
14
-
15
- E. Sync endpoints SHALL support: `GET /api/reviews/sync/status` (sync status), `POST /api/reviews/sync/push` (commit and push), `POST /api/reviews/sync/fetch` (fetch from remote), `POST /api/reviews/sync/fetch-all-package` (fetch all user branches).
16
-
17
- F. The server SHALL enable CORS for cross-origin requests from the HTML viewer.
18
-
19
- G. The server SHALL serve static files from the configured static directory at the root path.
20
-
21
- H. All write endpoints SHALL optionally trigger auto-sync based on configuration.
22
-
23
- I. Error responses SHALL use appropriate HTTP status codes and include JSON error details.
24
-
25
- J. The server SHALL provide a `/api/health` endpoint for health checks.
26
-
27
- ## Rationale
28
-
29
- The Flask API provides a lightweight HTTP interface for the review UI. The endpoint structure follows REST conventions with resource-oriented URLs. Auto-sync enables automatic git commits on each change for users who prefer immediate persistence, while manual sync is available for batched workflows.
30
-
31
- *End* *Review API Server* | **Hash**: 00000000
@@ -1,27 +0,0 @@
1
- # REQ-tv-d00015: Status Modifier
2
-
3
- **Level**: Dev | **Status**: Draft | **Implements**: REQ-tv-p00002
4
-
5
- ## Assertions
6
-
7
- A. `find_req_in_file(file_path, req_id)` SHALL locate a requirement in a spec file and return the status line information.
8
-
9
- B. `get_req_status(repo_root, req_id)` SHALL read and return the current status value from the spec file.
10
-
11
- C. `change_req_status(repo_root, req_id, new_status, user)` SHALL update the status value in the spec file atomically.
12
-
13
- D. Status values SHALL be validated against the allowed set: Draft, Active, Deprecated.
14
-
15
- E. The status modifier SHALL preserve all other content and formatting when changing status.
16
-
17
- F. The status modifier SHALL update the requirement's content hash footer after status changes.
18
-
19
- G. Failed status changes SHALL NOT leave the spec file in a corrupted or partial state.
20
-
21
- ## Rationale
22
-
23
- The status modifier enables the review workflow to complete the cycle by applying approved status changes directly to the spec files. This maintains the spec files as the authoritative source while the review system provides the approval workflow around changes.
24
-
25
- Atomic updates ensure that interrupted operations don't corrupt spec files, which are the source of truth for requirements.
26
-
27
- *End* *Status Modifier* | **Hash**: 00000000
@@ -1,33 +0,0 @@
1
- # REQ-tv-d00016: Review JavaScript Integration
2
-
3
- **Level**: Dev | **Status**: Draft | **Implements**: REQ-tv-p00002
4
-
5
- ## Assertions
6
-
7
- A. Review JavaScript modules SHALL be organized under the `TraceView.review` namespace to integrate with existing TraceView code.
8
-
9
- B. The review panel SHALL support opening, closing, and stacking requirement cards for multi-requirement review sessions.
10
-
11
- C. Thread UI SHALL support creating, viewing, resolving, unresolving, and replying to comment threads.
12
-
13
- D. Sync operations SHALL handle git push/fetch with conflict detection and user feedback via UI indicators.
14
-
15
- E. Package management UI SHALL support selecting, creating, editing, and deleting review packages.
16
-
17
- F. Position highlighting SHALL visually indicate comment anchor locations in the requirement content.
18
-
19
- G. Auto-sync functionality SHALL be configurable via the review panel settings.
20
-
21
- H. Event-driven architecture SHALL use custom DOM events (`traceview:thread-created`, `traceview:comment-added`, etc.) for component communication.
22
-
23
- I. The review panel SHALL integrate with the existing TraceView side panel system.
24
-
25
- J. Mode toggle buttons SHALL allow switching between View, Edit, and Review modes.
26
-
27
- ## Rationale
28
-
29
- Integrating with the existing TraceView namespace ensures consistent patterns and enables reuse of existing panel management, event handling, and UI components. The event-driven architecture decouples components and enables extensibility.
30
-
31
- Position highlighting helps reviewers understand the spatial context of comments, especially when positions have drifted due to content changes.
32
-
33
- *End* *Review JavaScript Integration* | **Hash**: 00000000
@@ -1,33 +0,0 @@
1
- # REQ-tv-p00001: HTML Generator Maintainability
2
-
3
- **Level**: PRD | **Status**: Draft | **Implements**: -
4
-
5
- ## Assertions
6
-
7
- A. The HTML generator SHALL produce a single, self-contained HTML file that can be opened in any modern browser without requiring a web server.
8
-
9
- B. The HTML generator SHALL support two operational modes: standalone mode with embedded requirement data, and link-only mode with relative URLs to source files.
10
-
11
- C. The HTML generator SHALL produce output that is functionally equivalent to the current implementation for all existing use cases.
12
-
13
- D. The HTML generator codebase SHALL separate concerns such that HTML structure, CSS styling, and JavaScript behavior can be modified independently.
14
-
15
- E. The HTML generator SHALL support IDE syntax highlighting and autocomplete for HTML, CSS, and JavaScript content.
16
-
17
- F. The HTML generator SHALL maintain backward compatibility with existing command-line interfaces and configuration options.
18
-
19
- G. The HTML generator SHALL support optional edit mode UI for batch requirement operations.
20
-
21
- ## Rationale
22
-
23
- The current HTMLGenerator class in `trace_view/html/generator.py` is a 3,420-line monolith that mixes HTML, CSS, JavaScript, and Python logic. This makes the code difficult to maintain, test, and extend.
24
-
25
- The current implementation has several challenges that motivate this refactoring:
26
- - No IDE support for embedded HTML/CSS/JS (all are Python strings)
27
- - Single 1,268-line method (`_generate_html`) with cyclomatic complexity of 598
28
- - Tight coupling prevents independent modification of presentation layers
29
- - Difficult to test components in isolation
30
-
31
- The refactoring preserves all current functionality while enabling better developer experience and maintainability.
32
-
33
- *End* *HTML Generator Maintainability* | **Hash**: 5dc964a5
@@ -1,29 +0,0 @@
1
- # REQ-tv-p00002: Collaborative Requirement Review System
2
-
3
- **Level**: PRD | **Status**: Draft | **Implements**: REQ-tv-p00001
4
-
5
- ## Assertions
6
-
7
- A. The system SHALL support threaded comments anchored to specific positions within requirement text.
8
-
9
- B. The system SHALL support status change workflows with approval gates for transitions between Draft, Active, and Deprecated states.
10
-
11
- C. Comment positions SHALL survive content changes through hash-based drift detection and fallback resolution strategies.
12
-
13
- D. Review data SHALL be stored in git branches following the `reviews/{package}/{user}` naming convention.
14
-
15
- E. Review packages SHALL group related requirements for coordinated review workflows.
16
-
17
- F. The system SHALL function offline with git-based synchronization when connectivity is available.
18
-
19
- G. The system SHALL provide a Flask API server for real-time review operations.
20
-
21
- H. The review UI SHALL integrate with the existing trace_view HTML output as a collapsible panel.
22
-
23
- ## Rationale
24
-
25
- The collaborative review system enables teams to review requirements without modifying the source specification files. By using git branches and JSON storage, the system maintains full audit trails compatible with FDA 21 CFR Part 11 requirements. Position-anchored comments allow precise feedback that survives requirement edits through intelligent re-anchoring.
26
-
27
- The package system supports sprint-based or topic-based review workflows, while the branch-per-user model enables offline work with eventual consistency through git merge operations.
28
-
29
- *End* *Collaborative Requirement Review System* | **Hash**: 00000000
@@ -1,101 +0,0 @@
1
- elspais/__init__.py,sha256=grQHU0RmRQChHUEb_cH_OuGmxADj5fDSNNayhXEQco4,1014
2
- elspais/__main__.py,sha256=rCMaObqJeT_6dhyfND7S4dh_lv30j7Ww3Z7992YYwaE,130
3
- elspais/cli.py,sha256=v6iFpfLe3_E5m74Hhyudq_qphp6TPSmIEvTI3z5JdmM,19530
4
- elspais/commands/__init__.py,sha256=jS7ry2ez7xri-fUlYUw9fGKJi5yTHtVN4PU8voHjgLI,155
5
- elspais/commands/analyze.py,sha256=5hE6YRL8AoAz2ukkR1rj6aiD2TNJi63UHYVJXmKoOUs,7135
6
- elspais/commands/changed.py,sha256=H0v95I6eXqcYXfqIUHKb3rP_2jMiH52bkXMe0TXM6y8,4872
7
- elspais/commands/config_cmd.py,sha256=KnH7vISH4041rqQrFftgffYLIujmIllZ_NCl5hIvCnE,13943
8
- elspais/commands/edit.py,sha256=Ey42VCAsV2G1WzCZ3qy1IAoG88zeba3O0iZjiodJZZA,16054
9
- elspais/commands/hash_cmd.py,sha256=XX_IbHkuJD3bc2MLxVEp2Tj5zAttDSKtpY0ZjxeKBjg,7844
10
- elspais/commands/index.py,sha256=_jPGt_LnGI6gGJLonzOoM978YpTj14GWDCCemtSIah4,5283
11
- elspais/commands/init.py,sha256=y2vxR5pvd0gmONJYjX3GtGbMfmJU11k_zRKWCm7O6Qo,3870
12
- elspais/commands/reformat_cmd.py,sha256=j2pzd6ok_wcL9GXLMPrZM8HAgqtt8NVNlNb09ua0gQg,14843
13
- elspais/commands/rules_cmd.py,sha256=b2d0l-rn-WTd6ULJWsjAebBTcKv_yndO7pVNc29QEoo,3415
14
- elspais/commands/trace.py,sha256=6yqsfq1L3UYPkZE0Pscfzg9Ml3-fKNqoouqiZL1RnFI,12622
15
- elspais/commands/validate.py,sha256=pzTEHhqLzpcL1YPa9wlJ4i0YvanK_jvhm2pB-Xr1z8E,15708
16
- elspais/config/__init__.py,sha256=NkQEonHWWiXXCDrfehOCrsEYSuhj75KYj8oBQ7FuS4c,292
17
- elspais/config/defaults.py,sha256=6GddebKwrDAiTp0tGzkNSEuGM_HeA846o8CQPYS4yz8,5177
18
- elspais/config/loader.py,sha256=MnG_j2W1pOSRTTUHAOvu5xcJUAzDFNPvRjloFXpM15w,13827
19
- elspais/core/__init__.py,sha256=OTQ1TOf7iLN4czmlkrV5tiaxpAat0VcrWpxYbfonAys,576
20
- elspais/core/content_rules.py,sha256=4UoA_SUJK5R2MG9NE0Z8sNzMVPq3beEJGKEtX_NAeTk,4515
21
- elspais/core/git.py,sha256=oM0jQUuqdMYc95j2Q1xqEH8a3X33u0Xe57TsTDUrhH4,11213
22
- elspais/core/hasher.py,sha256=X3Ry_M6zgs2pZPZ3UFItlvM0mRW6aPS0SKPhCYeaFUE,4259
23
- elspais/core/models.py,sha256=qwi9rVEUGLW2bJABW2s2-2OzyI3hdl3rdvkWRuTl908,9719
24
- elspais/core/parser.py,sha256=uPYDjt4KWAbKzxCEgZucnc6cvTH8pj8W25LEVPyG8-w,23901
25
- elspais/core/patterns.py,sha256=wEkzIjBRDDFyR3LZ-Lbm0a2IaU6Pdi80a9UUqb_S_aQ,13082
26
- elspais/core/rules.py,sha256=WIn41JupkZannGgEfhqK__aomsJVU9aqpq__s2ZpZgU,19036
27
- elspais/mcp/__init__.py,sha256=5yYWJpYkRu8AyJHUkbIP1HVngdyGEygzonJjdypAKb0,1143
28
- elspais/mcp/__main__.py,sha256=oqpwTiE14vr5AGnP0MxRzILx_hYqonUMMK96dX-EXVw,134
29
- elspais/mcp/context.py,sha256=MmYsDFA6nEVmgRffCQlqJMQjI0joQQJh1tFFPEeUeCA,5538
30
- elspais/mcp/serializers.py,sha256=FuSJT_Qg5BTQEwdER0G7ES2IJYZw7mDqyQqQIZ6_3FA,2832
31
- elspais/mcp/server.py,sha256=tgmeodGIqzz3vvGunDI6NhY0avQKn0F0yOiF7sbjJ-I,10416
32
- elspais/reformat/__init__.py,sha256=nkEBuz9AYsQxAeI7KZ1yHW8tk0Vj2cT-YrJMMc9GRSM,1256
33
- elspais/reformat/detector.py,sha256=DbR7JCRsUynajJPO_yrR1RrPgxozL02yTdRPzBJpNu4,3559
34
- elspais/reformat/hierarchy.py,sha256=bYwB37jVXvcYLge-_-AxDolBLnkUU2YeoIMhXXu-gNA,8079
35
- elspais/reformat/line_breaks.py,sha256=KLQ6AC5TclOLiopJoBzC-AQLea_LBW8Gg92hb_jE5Ko,6269
36
- elspais/reformat/prompts.py,sha256=JH4-XJJvDci4JEkFMsR_zsozFfRhUQOTi4pfVIULaj0,4356
37
- elspais/reformat/transformer.py,sha256=vsN2Zz5yehh_f-G5riaD6Znnac2E-3BKTqYldvo3CjY,8105
38
- elspais/sponsors/__init__.py,sha256=2DFEaB4U7IxeIX96CnWnpstFIzUgPoHie-cbiiINaW8,13109
39
- elspais/testing/__init__.py,sha256=hJB3V28HoeZUnIexi2mkaBwo0bQ7uSxBs-IZmcmpFtQ,879
40
- elspais/testing/config.py,sha256=PQkrnuk_p8pObc-Nio3s3mIKLO4AfB-2eiwXruXTw0Y,1620
41
- elspais/testing/mapper.py,sha256=EGund_KgeYbAnWRRcnuVs0xCzlf7EvJ-qiluSmvRIso,5649
42
- elspais/testing/result_parser.py,sha256=u-TI5oytCqxz769AyU7WF9mOOULSzZAArvBg6JXwG1Q,9280
43
- elspais/testing/scanner.py,sha256=PEn0qJCE2eX2SCru3Cc-v18mf81q7BNkPYE-MZ3m8CM,7037
44
- elspais/trace_view/__init__.py,sha256=kffaqkRynNOaK3wn98WmrF6QIpNiaKSEYvlJaB6GDqM,1802
45
- elspais/trace_view/coverage.py,sha256=35nrB6NAQWpcyvz-Q4hYB5hQAiEPKNv7cQtrSSdlSdY,6136
46
- elspais/trace_view/models.py,sha256=s0iddIfpNCFvzYFMPUjYzSPiC_xkWdKjkWDXUJ83pu8,11295
47
- elspais/trace_view/scanning.py,sha256=c4zxj9_wI5aYhUHb2boiI5kG0OXvhs8rFaJ2Gc229ls,7511
48
- elspais/trace_view/generators/__init__.py,sha256=-A9RfO8ar-FxENLNCwtLKzWZDyhZIY510btJhdN6tek,424
49
- elspais/trace_view/generators/base.py,sha256=5dsK0H_1W_slN7XzUoIa151j5FJSgYtX6-NwE7aS7Cc,12377
50
- elspais/trace_view/generators/csv.py,sha256=2Pp3fxLA0XYpPB1d4s9rdEpQ2-UfXa-ICD4aK3PSBiM,3541
51
- elspais/trace_view/generators/markdown.py,sha256=4AaPQiHDKrPsR_o2NfJcFM6Xp6q8m3201GL13yBnjaQ,5765
52
- elspais/trace_view/html/__init__.py,sha256=zW4iO173LGlYt18pIrgBhgMdRYHghXA_8nJMT8o8RjE,806
53
- elspais/trace_view/html/generator.py,sha256=qTFUG-0C2phJgilOgtDebUgV8Z6extdWqQDEa5ejuC4,45927
54
- elspais/trace_view/html/templates/base.html,sha256=hy2G-Gw7qDCu7FEdt5VeBlIwoV9vJoKk1J5LDwEH8og,13176
55
- elspais/trace_view/html/templates/components/code_viewer_modal.html,sha256=7S_ocNo2mfWMimXGlhhUWR7IUhdAiASdecsUPWmCdEw,736
56
- elspais/trace_view/html/templates/components/file_picker_modal.html,sha256=hb7W0Gfkl_FFAz42wvVzPwHplWgRuU_0-NPmU5XM8rg,1182
57
- elspais/trace_view/html/templates/components/legend_modal.html,sha256=S7j_KY6O3kgYusJBLF5uT22S3TnRahLtHSFgZlnGM7Y,3562
58
- elspais/trace_view/html/templates/components/review_panel.html,sha256=8DDa5eZXpLMklGZBPV5N54VaxaqZlD1s3bbQPS59D2o,5592
59
- elspais/trace_view/html/templates/partials/review-styles.css,sha256=8lh_Wf8Gc5BxAniL9tiHuKfDHnQI0UMMbSLqmQnhvUs,42833
60
- elspais/trace_view/html/templates/partials/scripts.js,sha256=3qaZkFJj3oNg_p16cvpHKiE6rtPIWoM3LrFHx7TGJyQ,72717
61
- elspais/trace_view/html/templates/partials/styles.css,sha256=csqKjs6RPrnIYm3kq-0BhXWi8shpeYiGPJ61Kvl6OXg,33321
62
- elspais/trace_view/html/templates/partials/review/review-comments.js,sha256=sYT4r9At4qlWQMLchRfpfl8V7xY3jV8B4m97dkpRz_g,38903
63
- elspais/trace_view/html/templates/partials/review/review-data.js,sha256=0tPPMBzoNoTeB-wWVmwR2gRDvOT8iK-iSigZA1ddT1E,32644
64
- elspais/trace_view/html/templates/partials/review/review-help.js,sha256=Sy77ioN6stmdCR7OK4dYOdKLkzD3DJI8VCfPjFWGIyY,24047
65
- elspais/trace_view/html/templates/partials/review/review-init.js,sha256=guLPdd4iH2bxAOi3GiDULQk7XDNzmvVOLx5UJlt9eU0,6435
66
- elspais/trace_view/html/templates/partials/review/review-line-numbers.js,sha256=j8tU7lxqFljt6rBF7VU6j00qIhrpvA8EVXIsxCbfJCI,15855
67
- elspais/trace_view/html/templates/partials/review/review-packages.js,sha256=QxLZXfpWK2xp4qrDy0dgTx7TuQBnkGmWb9jNM4clHHA,39754
68
- elspais/trace_view/html/templates/partials/review/review-position.js,sha256=nRRcSLbM-OAxUQADbFbRN5XJtEcIER2gzoL-_9pLf-Y,19182
69
- elspais/trace_view/html/templates/partials/review/review-resize.js,sha256=fS081RfoiJAe9QRoEkQfSvdZotPQcPG45s-WDCxIbsE,3136
70
- elspais/trace_view/html/templates/partials/review/review-status.js,sha256=WgK2p56v1HKZpwuSX6zOv1KpfGAKLfpdb66qIRXsi2Q,26235
71
- elspais/trace_view/html/templates/partials/review/review-sync.js,sha256=xr4qrNRmkRSb7YO3ErBjckJltSLbbAy5NfnYba50GrE,31541
72
- elspais/trace_view/html/templates/partials/review/help/help-panel.json,sha256=A592sy3spIjvTBj87Yl_Ow8bm09s2JY-SAWc2Ac_jjU,14518
73
- elspais/trace_view/html/templates/partials/review/help/onboarding.json,sha256=uqqLXdD1rgR8bobnBFTAkgcMbbrWeyRnk5jX-1vbvHI,2942
74
- elspais/trace_view/html/templates/partials/review/help/tooltips.json,sha256=P9VfihRKL7BamrYfXRI855J51KMU29wbwpQGa5hO0y8,8714
75
- elspais/trace_view/review/__init__.py,sha256=ZpMAJFu2q9VTLtTD5ThMo-RYaZ6pDDo9dnReyg779RA,1307
76
- elspais/trace_view/review/branches.py,sha256=souMSF3WggcOwqsD_Kx_trVfpdWRIuOGF6acKn05-f8,36560
77
- elspais/trace_view/review/models.py,sha256=7l_NoALci77TVM29KeBpjKx-jp8qzNgoIpXvzVC_3iM,40714
78
- elspais/trace_view/review/position.py,sha256=Ep9IlcAeL0u46u-xks0o6qRQTMJnTCgf10W4FxCmwRo,20974
79
- elspais/trace_view/review/server.py,sha256=yOyzyn8MrrR0OxwU-xCHp8TQDx1L3DVL4CDEm0aP13w,36363
80
- elspais/trace_view/review/status.py,sha256=Q_uwm6Fe14eXSYduaGOCfHDuVXTt3lpl047q8W6T76o,15534
81
- elspais/trace_view/review/storage.py,sha256=grirLOGFUIzj0AseOIUkjciLR8ge38vPb3dtZwL5H70,38193
82
- elspais/trace_view/specs/README.md,sha256=LY3Ilp1RNYJYxAFV3KRTp2ASp5nyUhkFkgPFY2BEdEU,3282
83
- elspais/trace_view/specs/tv-d00001-template-architecture.md,sha256=WUnD2cYSnGqaAtzaCzYQdMV2S_iWUF-aHb6-UYmW_5E,1753
84
- elspais/trace_view/specs/tv-d00002-css-extraction.md,sha256=28KeqYDFrCsms8AXjKKiA8yn85_kT4nZOOqIlMB553c,1653
85
- elspais/trace_view/specs/tv-d00003-js-extraction.md,sha256=R65UQhgIW8uyUqyAo2ZPUEeLZqO7sOH8RsKVsB1TL5w,2068
86
- elspais/trace_view/specs/tv-d00004-build-embedding.md,sha256=2vI-zNi7Ibxnxwf0hvhLZh-JbrwBrUU68tp18wLXjQ4,1901
87
- elspais/trace_view/specs/tv-d00005-test-format.md,sha256=7XeJmQdSG_5OJiwFxshmnzfaQlIFvhhbwqNe9w7EaIs,2804
88
- elspais/trace_view/specs/tv-d00010-review-data-models.md,sha256=Yr8Pntii7bn-gXSPJGRSCBbui3dehc9_xi6ocWtslf8,1875
89
- elspais/trace_view/specs/tv-d00011-review-storage.md,sha256=fjqz0tQ2QqIYXAIpCUbtU09ajMTqARPJTWCgnjQaeXA,2051
90
- elspais/trace_view/specs/tv-d00012-position-resolution.md,sha256=GpW78rhbCoU-Ipo31MBdFgRHB_DRmZC2cVnSx3iLvxw,1885
91
- elspais/trace_view/specs/tv-d00013-git-branches.md,sha256=TFNrgBJqalDGpU9avjMMJZ9DCo8zO5UJ7N4sJQcVfD8,1565
92
- elspais/trace_view/specs/tv-d00014-review-api-server.md,sha256=1efAzKT-R2vrouEG0K6vW1byGSYyNoHnpQwOxg84ZgM,2189
93
- elspais/trace_view/specs/tv-d00015-status-modifier.md,sha256=MK7YwLWr0KFZXImJefFV171vBeNbTdtaWCVgyxSXqec,1285
94
- elspais/trace_view/specs/tv-d00016-js-integration.md,sha256=wofQ4qkCCILpjzFTtAKIwL7FB47KGoPpW9ox2k-BQ7c,1658
95
- elspais/trace_view/specs/tv-p00001-html-generator.md,sha256=tv4cP0CynaRPxHKTzGN3r9CXqQBbioVX2ESOcOBKnUI,1792
96
- elspais/trace_view/specs/tv-p00002-review-system.md,sha256=JQJSwNbZ_Hkqk43QQ9JKKhTBsfI0rF1Hp_3RIR6hS-4,1609
97
- elspais-0.11.1.dist-info/METADATA,sha256=ysGy8f5kiNLFOeqFbL5EM9Z73OO3-scXK9OqlAQhvoE,11634
98
- elspais-0.11.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
99
- elspais-0.11.1.dist-info/entry_points.txt,sha256=yWZZEfn2fBSKSzGoS-fMQ9YoTkyeu6-i7Oht6NsdKpk,45
100
- elspais-0.11.1.dist-info/licenses/LICENSE,sha256=x_dNMsy_askp2MmKXZFL2bKW_tDiJHcRTyAg0TY1RMI,1063
101
- elspais-0.11.1.dist-info/RECORD,,