Problem
The project enforces the presence of several important metas via dedicated lints:
mandatory-home requires +home to be present
mandatory-package requires +package to be present
mandatory-spdx requires +spdx to be present
mandatory-version requires +version to be present
However, there is no mandatory-architect lint that requires +architect to be present. The existing incorrect-architect lint only validates the format of +architect when it is already there — but does not enforce its presence.
This breaks the symmetry of the existing pattern. Moreover, unique-metas already lists +architect alongside +version, +home, and +package as a meta that must be unique — which implies it is expected to be present. The atom-without-rt lint examples also consistently include +architect in all correct code samples.
Suggestion
Add a new lint mandatory-architect that reports an ERROR level defect when a program does not declare a +architect meta.
Example of bad code
+home https://github.com/objectionary/eo
+package org.eolang
+version 0.0.0
Foo.
[] > foo
42 > @
Expected fix
+architect foo@example.com
+home https://github.com/objectionary/eo
+package org.eolang
+version 0.0.0
Foo.
[] > foo
42 > @
This would complete the symmetry with mandatory-home, mandatory-package, mandatory-spdx, and mandatory-version.
Problem
The project enforces the presence of several important metas via dedicated lints:
mandatory-homerequires+hometo be presentmandatory-packagerequires+packageto be presentmandatory-spdxrequires+spdxto be presentmandatory-versionrequires+versionto be presentHowever, there is no
mandatory-architectlint that requires+architectto be present. The existingincorrect-architectlint only validates the format of+architectwhen it is already there — but does not enforce its presence.This breaks the symmetry of the existing pattern. Moreover,
unique-metasalready lists+architectalongside+version,+home, and+packageas a meta that must be unique — which implies it is expected to be present. Theatom-without-rtlint examples also consistently include+architectin all correct code samples.Suggestion
Add a new lint
mandatory-architectthat reports anERRORlevel defect when a program does not declare a+architectmeta.Example of bad code
+home https://github.com/objectionary/eo
+package org.eolang
+version 0.0.0
Foo.
[] > foo
42 > @
Expected fix
+architect foo@example.com
+home https://github.com/objectionary/eo
+package org.eolang
+version 0.0.0
Foo.
[] > foo
42 > @
This would complete the symmetry with
mandatory-home,mandatory-package,mandatory-spdx, andmandatory-version.