--no only works today via argparse abbreviation of --no-string-type. The
PR's planned --no-section/--no-structure/--no-tag flags will make --no an
ambiguous prefix and break these call sites. Use the canonical spelling.
Implement the first batch of the FLOSS migration development spec.
CLI:
- remove --no-layout, --no-tags, -l/--load, -H, --no, and --only
- add --string-type and --no-string-type to replace --no and --only
- rename --functions to --analyze-functions
- load a saved JSON results document automatically from file content
- print the full option list when run with no arguments (exit 1)
- always show the full option list in --help; --version exits 0
Metrics:
- add layout and tags runtime timing fields to the results document
- record elapsed time for the layout/tag step and tag DB matching
Other:
- point the tag scripts at the current tag database location
Update the CLI tests and the usage documentation for the new flags.
Run build workflow on PRs to quantumstrand (like tests.yml). Put the
sample path before --no stack/tight/decoded so nargs="+" does not
swallow the path in the smoke test and bulk_analyze.
Stop re-exporting pipeline/CLI helpers from floss.main. Import
select_functions from floss.pipeline, StringType/set_log_config from
floss.cli, and load stack/tight string modules lazily in conftest to
avoid the identify/features circular import.
Deprecate floss.quantum and document dual schema; floss quantum remains
a thin alias. Update README, bulk_analyze, and QS document tests for the
unified ResultDocument.
Group auxiliary scripts by purpose: classic FLOSS tool integrations under
disassemblers/, QuantumStrand tag DB maintenance under tags/ (including
build_oss_db.py), and batch runs under analysis/. Add category READMEs,
update tests and import paths, and point build_oss_db default output at
floss/qs/db/data/oss.